Bolt アプリのログインメールの仕組み
Bolt の組み込みデータベースには認証機能があり、プロジェクトにデータベースができると設定が表示されます。画面上部のデータベースアイコンを開き、Authentication を選びます。サインアップ、パスワードリセットやマジックリンクの依頼があると、データベースの認証サービスがメールを送り(Bolt のドキュメントによると、テンプレートは Supabase によって提供されています)、リンクは Site URL とリダイレクト一覧から作られます。
Bolt のログイン方法
| サインイン方法 | ユーザーに届くメール | Proxy Mail QA でのテスト |
|---|---|---|
| メールとパスワード | 確認(必須にした場合)、パスワードリセット、メールアドレスの変更 | はい |
| マジックリンクまたはコード(Bolt に依頼した場合) | サインイン用のリンクまたはコード | はい |
| Google で続行 | サインイン用のメールはなし | いいえ。ご自身の Google アカウントを使います |
Google でのサインインには、独自の Google Cloud OAuth クライアントが必要です。そこに追加するリダイレクトアドレスは、Bolt の All project settings → Authentication → Continue with Google に表示されます。プレビューだけでなく公開済みアプリでもテストしてください。これらのオプションが初めての方はログイン方法の解説をご覧ください。
すべてのログインメールを5分でテスト
- 確認を有効にします。 データベースアイコンから Authentication → Email を開き、アプリでアドレスを確認する場合は Require users to confirm their email after signing up を有効にします。
- 公開してから、Proxy Mail QA でアドレスを作成します。 フォームで名前を求められる場合は、生成したペルソナを使います。
- プレビューだけでなく、公開済みアプリでサインアップします。
- 行のリンクまたはコードを使います。 確認リンクには Open link と Copy link ボタン、コードには Copy ボタンが付きます。
- 残りもテストします。 サインアウトし、パスワードをリセットし、新しいパスワードでサインインして、行に保存します。Forgot password リンクがまだない場合は、Bolt に追加を依頼してください。
確認すべき 2 つの設定
1. Site URL とリダイレクト。 Advanced Authentication options で、Site URL を公開アドレスにし、URI allow list にアプリが動作するすべてのアドレスを含めます。リセットリンクが localhost:3000 に移動するのはこれが原因です。Proxy Mail QA は、確認後にのみリダイレクトするものも含め、ローカルアドレスに向かうリンクを警告します。詳しいガイド。
2. メールテンプレート。 Authentication で Email 行をクリックし、Edit email templates で各メールの件名と本文を変更します。テンプレートにコード({{ .Token }})を追加すると、行に Copy ボタン付きで表示されます。リンク({{ .ConfirmationURL }})には Open link と Copy link ボタンが付きます。
Bolt 用のコピー&ペースト用プロンプト
これらを Bolt のチャットに貼り付けてください。その後、新しいアドレスで再度テストします。
List every email this app sends: sign-up confirmation, magic link, password reset, invite and email change. For each, tell me what triggers it, which URL its link points to, and how long its link or code stays valid. Flag anything that uses localhost.Make every auth email link back to the published app, not localhost. Use the current site's address for the sign-up and password-reset redirects, and make sure the published address is in the authentication redirect list.After a password reset, send the user to a page where they choose a new password, then sign them in. Show a clear message if the reset link has expired or was already used.