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

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

\ 年末までに限った無料特典 /
貴社のシステム開発・アプリ開発を爆速で進めるための
【毎月先着2社限定】デモアプリ構築・無料依頼フォーム

【BOLTでは、こんなデモアプリがすぐに作れます】

  • 貴社で「まずつくってみたい」試作品アプリの構築を毎月先着2社限定で無料で承っております
  • 社内の管理システムからtoB, toCのWebサービスまで幅広くご支援可能です
  • ご興味のある方は下記のフォームよりお申し込みください
目次

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や電話番号を利用したものも存在します。

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

\ システム開発にお悩みの方へ /
貴社のシステム開発・アプリ開発を爆速で進めるための
超高速開発が分かる資料3点セット

【下記の3点の資料が無料でダウンロードできます】

  • 【料金表付き】新規事業を爆速で立ち上げられる高速開発支援サービスの紹介資料
  • 【最短24時間で納品?】高速開発のプロジェクト支援事例集
  • 導入に向けて開発プラットフォームのランニングコスト比較表
  • URLをコピーしました!

お役立ち資料



資料請求はこちら

資料請求

無料デモアプリはこちら

無料で作成依頼
目次