MENU

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

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

目次-全章

第1章 bubbleについて(bubbleの基礎知識からアカウントの作成、アプリ開発まで)
第2章 かんたんなアプリケーションを作成
第3章 ページレイアウト(UIデザイン)を作成
第4章 データベースの設計
第5章 ユーザー登録、ログインを試してみる
第6章 ユーザーログイン時の処理を実装してみる
第7章 ユーザー情報を更新、削除(退会、解約)できるようにしてみる
第8章 メールアドレス認証を実装してみる
第9章 パスワードの再設定、パスワードリセット機能を実装してみる
第10章 ユーザーがツイートできるようにする
第11章 ユーザーのフォロー機能、タイムライン表示機能をつくってみる
まとめ
目次

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

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

実際に働く社員とカジュアル面談しませんか?

【毎週金曜日開催中】カジュアル面談しませんか?


参加はこちら!
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私たち株式会社ファンリピートは、ITを通じてお客様の課題解決を行うスタートアップベンチャーです。ノーコード・ローコードを用いたDX支援事業を主軸に、スピード感を持ってお客様のご要望にお応えしています。

2019年の創業から、出版業界・広告業界をはじめ、幅広い業界のデジタル施策を支援。財務管理・顧客管理などの基幹・業務システムから、新規Webサービスなど開発前検証フェーズのシステム導入支援まで、ワンストップでサポートを実施しています。この先も本質的なご提案を通じて、お客様の課題を解決し続けます。

コメント

コメントする

目次