第6回メールアドレスとパスワードを変更しよう
これまでにログインシリーズとして、5回説明してきましたが、メールアドレスとパスワードの変更について触れていなかったので、説明しようと思います!
メールアドレスとパスワード、この二つをユーザが変更したい場合は多々あります。
各Webアプリによってどういう設計にするかはそれぞれかと思いますが、 パスワードであれば、以前ログインシリーズでも触れたように、変更する場合は「パスワードを忘れた」処理をしてもらう、というのも一つの手です。(これだと説明文がないとユーザはわかりにくいですが)
その時のブログはこちら↓ blog.nocodelab.jp
今回は、単純にユーザがログインしている時に自分でメールアドレスとパスワードを変更する方法をお伝えします。
メールアドレスとパスワードを変更しよう
ここでの前提は、ソーシャルログインを利用していないユーザの前提です。
まずはサンプル画面を以下のように用意しました。
主な画面エレメント
- Input:新しいメールアドレス
- Input:現在のパスワード
- Input:新しいパスワード
- Input:新しいパスワード(確認)
- Button:変更
メールアドレスとパスワードは実際には別々に変更することが多いかと思いますが、ここでは同時に変更できるようにします。
画面ができたら、「変更」ボタンのワークフローを設定しましょう。
「Account」から「Update the user's credentials」を選択します。
必ず必要なのは、「Old password」です。
メールアドレス、パスワード、パスワード(確認)と変更対象のものをチェックしましょう。
ここでは全て変更するので、「Change email」、「Change password」、「Require password confirmation」のチェックボックスにチェックを入れ、それぞれInputのvalueを設定します。
メールアドレス、パスワードどちらかなら、必要に応じてチェックします。
Emailの登録確認をサインアップ時に行う場合は、メール変更の時も登録確認してもらうようにしましょう。 その時は「Send an email to confirm the email」にチェックを入れましょう。
これでメールアドレスの変更とパスワードが変更できました。
とても簡単ですね!!
ちなみにこの画面はログイン中に行うようにしましょう。
メールアドレスを変更しよう(ソーシャルログイン)
通常のログインであれば、メールアドレス&パスワードは前述のように変更できます。
しかし、ソーシャルログインの場合はどうでしょうか?
ソーシャルログインの場合は、Bubble以外でID、パスワード管理されているので、これでログインしていた場合、アプリ側でSNS側のメールアドレスとパスワード変更するのは不可能です。
※仮に「Update the user's credentials」を利用して変更しようとすると、Bubbleでの認証に変更されたり、整合性がとれなくなります。
ただ、以前ログインシリーズでソーシャルログインについて触れましたが、Twitterの場合(それ以外にもあるかもですが)、メールアドレスはBubble側では取得できないので、必要な場合、ユーザに入力してもらう必要があります。
ちなみにその記事はこちら↓ blog.nocodelab.jp
ということは、アプリ側でメールアドレスの変更の必要がでてきますね。 しかし、パスワードの管理はやはりBubbleではなく、Twitterになります。
ここで気づきましたでしょうか?
先ほどメールアドレス&パスワード変更する際、必須なものがありました。
それは、現パスワードの入力です。
ソーシャルログインのパスワードを入力したところでBubbleでは管理していないので、はじかれてしまいます。
では、どのように変更すれば良いのでしょうか?
それは、一時的にパスワードを発行し、それを利用する、です!!
ワークフローを見てみましょう。
まずは、「Account」から「Assign a temp password to a user」のActionを選択します。
次に、「Account」から「Update the user's credentials」を選択します。
ここで、「Old password」のところを、入力の値ではなく、「Assign a temp password to a user」の結果を設定します。
これで、Twitterのように、Bubbleでパスワード管理していないものでも、メールアドレスの変更ができるようになりました!
まとめ
従来の開発なら、認証してO.K.なら項目更新、という風に作らねばなりませんが、Bubbleで開発すると、
メールアドレスとパスワードも他の項目と同じように簡単に変更が可能ですね!
とても便利だと感じます。
メールアドレスとパスワードはBubbleで予め通常の項目と違い、認証を必要とするようになっているので、初めてシステムを作成する方でも「認証が必要と」いう認識することもできます。
是非試してみてください!
ここまで読んでいただき、ありがとうございました!