第8章 メールアドレス認証を実装してみる

bubbleチュートリアルver1第8章 メールアドレス認証を実装してみる
監修者

監修者

著者の写真

竹村貴也

株式会社ファンリピートCEO

ベンチャー企業でのシステム開発経験を経て、フリーランスとして多数の企業のプロジェクトマネジメントに携わる。2019年に株式会社ファンリピートを設立し、ローコード開発、AIを活用した業務効率化ソリューションの開発・提供を手がける。
著書:「ChatGPTによるPythonプログラミング入門. AI駆動開発で実現する社内業務の自動化


ノーコード/ローコードやAI関連の情報をお届け
無料のBOLTメールマガジン

不定期でノーコード/ローコードやAI関連のお役立ち情報をお届けするメルマガです。

  • ノーコード/ローコードの基礎・応用情報がわかる
  • 個人利用やビジネスで生かせるAI活用方法がわかる
  • 限定オファーや資料公開、ウェビナー情報がいち早く届く

ノーコード/ローコードを用いたシステム開発やAI利活用に興味がある方はぜひご登録ください!

目次

8.1 新規ユーザー登録時にメールアドレス認証の処理を実装

第5章で新規登録の処理を設定しましたが、このままだと存在しないメールアドレスでも登録出来たり、他人のメールアドレスを利用して登録ができてしまいます。

セキュリティ向上のために、新規登録した際にメールアドレスを認証するように設定しましょう。

Signupの処理にメール認証を設定

Send an email to confirm the emaiにチェックを入れる 

このチェックボックスをオンにすると、ユーザーにメールアドレスが有効であり、アクセスできることを確認するメールが送信されます。このメールには、クリックするとユーザーのプロパティ「メール確認済み」が「はい」に設定されるリンクが含まれています。

公式ドキュメントから引用:https://manual.bubble.io/core-resources/actions/account#send-an-email-to-confirm-the-email

singupページのワークフローを開き、「Sign the user up」アクションのプロパティエディタで、Send an email to confirm the emaiにチェックを入れます。

図8.1.1 Send an email to confirm the emaiにチェック

新たにConfirmation pageの選択欄が表示されるので、email_authenticationを選択します。

図8.1.2 Confirmation pageをemail_authenticationに設定

認証完了ページに遷移させる

今のままだと、メールアドレスを認証していない場合もhomeページに遷移してしまうため、Go to pageの遷移先を email_authentication に変更します。

図8.1.3 Destinationをemai_authenticationに設定

User is logged inの内容を変更する

第6章2で、ログイン中にsignupページにアクセスした場合、homeに移動する設定をしていました。

今の状態だとメールアドレスの認証が完了していなくてもhomeに遷移してしまい、Button Singup is clicked トリガーと並列して実行されてしまうため、User is logged inトリガーに「メールアドレス認証が完了しているとき」という条件を追加します。

図8.1.4 User is logged inに条件追加

プレビューで確認する

ここまでの流れを確認します。ログインしていない状態でsingupページにアクセスします。すでに登録済みのユーザーが再度登録しようとした場合エラーが発生しますので、別のメールアドレスを使用するか、Dataタブから登録済みユーザーを削除してください。

新規登録ページでユーザー名、メールアドレス、パスワードを入力し、新規登録するボタンをクリックします。

図8.1.5 新規会員登録のpreview画面

メール認証ページに遷移します。

図8.1.6 メール認証ページのpreview画面

このとき、同時に入力したメールアドレスにメールが届きます。

図8.1.7 受信したメールの例

Click here to confirm your email address をクリックします。

すると新しいタブでメールアドレス認証完了ページが表示されます。

図8.1.8 メールアドレス認証完了ページの例

8.2 認証メールの内容を編集

第8章1で認証メールを受け取りましたが、内容が全て英語になっていました。こういったメールや表示されるメッセージを日本語化しましょう。

認証メールの内容をカスタマイズ

認証メールの内容をカスタマイズする

Settings > Languages タブを開きます。このタブではさまざまな状況でbubbleが表示するメッセージ等をカスタマイズできます。

デフォルトでは言語が英語になっているため、日本語にします。

図8.2.1 言語を日本語に変更

言語を変更すると登録されているメッセージは日本語に直訳されますので、内容を確認してわかりやすい日本語に変更しておきましょう。

新規登録時のメールについては、以下で内容を変更します。

Email confirmation subjectメールタイトル
Email confirmation bodyメール本文
Confirmation Linkメール本文最後に追加される、メールアドレス確認用のURLリンク文言
表8.2.1 内容変更一覧

ここでは、以下のように変更します。

Email confirmation subject

メールアドレスを確認してください

Email confirmation body

funrepeaterに登録ありがとうございます。

メールアドレス確認のため以下のリンクをクリックしてください。

図8.2.2 内容変更例

プレビューで確認する

再度、singupページにログアウトした状態でアクセスし、新規登録をしてメールを確認しましょう。

図8.2.3 認証メールの言語変更例

メールタイトル、本文が日本語になっていることが確認できます。

8.3 未認証のユーザーがログインした際にメールアドレス認証・送信ページに遷移させる

ログイン認証の処理を変更

ログイン認証の処理を変更

新規登録でメールアドレスの認証を追加したので、ログイン時もメールアドレスの認証がされていないとログインできないように変更します。

loginページのButton Login is clicked トリガーに、email_authentiationページへの遷移アクションを追加します。

図8.3.1 Destinationをemail_authenticationに設定

email_authenticationページへの遷移アクションに「ユーザーのメール認証がされていないとき」という条件を追加します。

図8.3.2 email_authenticationへの遷移アクションに条件追加

また、homeページへの遷移アクションには「ユーザーのメール認証がされているとき」という条件を追加します。

図8.3.3 homeへ遷移アクションに条件追加

User is logged inトリガーに条件を追加する

新規登録ページと同様、User is logged in トリガーに「ユーザーのメール認証がされているとき」の条件を追加します。

図8.3.4 User is logged inに条件追加

メールアドレス認証メールを再送する

email_authenticationにワークフローを設定

新規登録時にメールアドレスの認証をしておらず、メールアドレスの認証メールを紛失する可能性があるので、再送信できるよう、email_authenticationにワークフローを設定します。

Button Sendのクリック時にワークフローを開始します。

図8.3.5 Button Sendのワークフロー

Account > Send confirmation email アクションを選択します。

図8.3.6 Account > Send confirmation emailを選択

Confirmation pageをemail_authenticationに設定します。

図8.3.7 Confirmation pageをemail_authenticationに設定

Send confirmation email アクションを実行すると、すでに認証済みのメールアドレスでもメールアドレスが未認証とデータが書きかわります。

メールアドレス認証後、ログインページに遷移させる

メールアドレス認証が完了したあと、3秒後にログインページに遷移させます。

email_authenticationのワークフローで、トリガー User is logged in、条件に「メール認証が済んでいるとき」を設定します。

図8.3.8 User is logged inに条件追加

アクション実行に対し、一時停止したい時は Navigation > Add a pause before next action を選択します。

図8.3.9 Navigation > Add a pause before next action を選択

一時停止時間は 3000 ms(3秒)とします。

図8.3.10 Pause length(ms)を3000に設定

このとき、ユーザーはログインした状態なので、ログアウトさせ、ログインページへの遷移アクションを追加します。

図8.3.11 Destinationをloginに設定

これで、メールアドレスの認証が済んだあと、3秒後にログアウトしてログイン画面に遷移します。

ログインページへのリンクを設定する

Group Auth、Group AuthDoneともに「ログインはこちら」というログインページへのリンクが存在するため、プロパティエディタから遷移先をloginページに設定しておきましょう。

Group Authのリンク先設定

図8.3.12 Link destinationをinternal pageに設定

Group AuthDoneのリンク先設定

図8.3.13 Link destinationをinternal pageに設定

プレビューで確認する

新しくユーザーを新規登録し、メール認証をしないでおきます。

図8.3.14 新規会員登録のpreview画面

ログインページに遷移し、登録したメールアドレスとパスワードを入力してログインします。

図8.3.15 ログインページのpreview画面

メールアドレス認証ページが表示されるので、登録したメールアドレスを入力し、認証メール送信ボタンをクリックします。

図8.3.16 メールアドレス認証ページのpreview画面

認証メールが届くので、リンクをクリックします。

図8.3.17 認証メールの例

メールアドレス認証完了の表示が確認されます。

図8.3.18 メールアドレス認証完了の表示

8.4 最後に

第8章では、新規登録およびログイン時にメールアドレスを認証させる方法を学びました。

一般的にメールアドレスの認証については、メールアドレスに確認メールを送るだけでなく、SMSや電話番号を利用したものも存在します。

こういった一手間は面倒かもしれませんが、アカウントの乗っ取りなどのトラブルを避けるために設定するよう心がけましょう。

\ 高品質×高速開発 /
ノーコード・ローコード開発ならBOLT

「Webアプリケーション開発を高品質かつ高速で依頼したい…」そんな方に弊社のBOLTをご提案します。

  • 企画・提案力を武器にした上流工程支援
  • 高品質と高速を両立する開発支援
  • お客様第一の進行管理
  • 継続的なアップデート体制

システム開発の内製化やDXでお悩みの方はぜひご相談ください!

  • URLをコピーしました!

お役立ち資料



資料請求はこちら

資料請求

お問い合わせはこちら

お問い合わせ
目次