Flutter
...
Authentication
FlutterでのParseユーザーパスワードリセットの実装法
8 分
flutterアプリにユーザーのパスワードリセットを追加する方法 はじめに システムにパスワードを導入すると、ユーザーはそれを忘れてしまうという事実があります。parse serverは、ユーザーが安全にパスワードをリセットできる方法を提供します。 パスワードリセットのフローは、ユーザーのメールアドレスを取得し、 requestpasswordreset requestpasswordreset メソッドを呼び出すことから始まります。 parse user parse user クラスから。 これにより、指定されたメールがユーザーのメールまたはユーザー名フィールドと一致するかを試み、パスワードリセットのメールを送信します。これにより、ユーザーがメールをユーザー名として使用することを選択するか、別途収集してメールフィールドに保存することができます。 パスワードリセットのフローは次のとおりです ユーザーは、自分のメールアドレスを入力してパスワードのリセットを要求します。 back4appは、特別なパスワードリセットリンクを含むメールをそのアドレスに送信します。 ユーザーはリセットリンクをクリックし、新しいパスワードを入力するための特別なback4appページに移動します。 ユーザーは新しいパスワードを入力します。これで、彼らのパスワードは指定した値にリセットされました。 このガイドでは、 parse server用のflutterプラグイン を使用して、 parseuser parseuser クラスを使用してflutterアプリにユーザーのパスワードリセット機能を実装する方法を学びます。 目標 flutterアプリ用にparseを使用してパスワードリセット機能を構築します。 前提条件 このチュートリアルを完了するには、次のものが必要です: flutter バージョン 2 2 x 以降 https //flutter dev/docs/get started/install android studio https //developer android com/studio または vs code をインストール ( プラグイン dart と flutter) 前のガイドで作成した flutter アプリ 注意: セッション中の 現在のユーザーを取得 に従ってください。 前のガイドを完了して、 parseuser parseuser クラスをよりよく理解できるようにしてください。 android または ios を実行しているデバイス(シミュレーターではない)。 パスワードリセットプロセスの理解 パスワードリセットプロセスをよりよく理解するために、前のガイドで始めたアプリケーションの開発を続け、その機能を実装します。 このガイドの主な焦点は flutter と parse の使用であるため、flutter アプリケーションコードについては説明しません。次のステップに従って、back4app データベースでログインおよびログアウトアプリを構築します。 さあ、始めましょう! 次のステップでは、アプリケーションにパスワードリセット機能を構築できるようになります。 1 ログイン/ログアウト/パスワードリセットアプリプロジェクトを開く 前のガイドからflutterプロジェクトを開く 現在のユーザーをセッションで取得 https //www back4app com/docs/flutter/parse sdk/flutter current user%22 「 main dart main dart 」ファイルに移動します。 2 パスワードリセットのためのコード パスワードリセットフローを開始するには、ユーザーのメールアドレスが必要です。「 douserresetpassword douserresetpassword 」関数を「 main dart main dart 」ファイル内で検索します。「 douserresetpassword douserresetpassword 」内のコードを次のように置き換えます 1 final parseuser user = parseuser(null, null, controlleremail text trim()); 2 final parseresponse parseresponse = await user requestpasswordreset(); 3 if (parseresponse success) { 4 message showsuccess( 5 context context, 6 message 'password reset instructions have been sent to email!', 7 onpressed () { 8 navigator of(context) pop(); 9 }); 10 } else { 11 message showerror(context context, message parseresponse error! message); 12 } この関数を構築するには、次の手順に従います 新しい parseuser parseuser クラスインスタンスを次のコマンドで作成します parseuser(null, null, controlleremail text trim()); parseuser(null, null, controlleremail text trim()); メールフィールドは必須で、他のフィールドにはnullを使用できます。 リカバリーメールを送信するために、「 user requestpasswordreset user requestpasswordreset 」関数を呼び出します。 完全な関数は次のようになります 1 void douserresetpassword() async { 2 final parseuser user = parseuser(null, null, controlleremail text trim()); 3 final parseresponse parseresponse = await user requestpasswordreset(); 4 if (parseresponse success) { 5 message showsuccess( 6 context context, 7 message 'password reset instructions have been sent to email!', 8 onpressed () { 9 navigator of(context) pop(); 10 }); 11 } else { 12 message showerror(context context, message parseresponse error! message); 13 } 14 } テストするには、 実行 実行 ボタンをandroid studio/vscodeでクリックします。 「 パスワードリセット パスワードリセット 」ボタンをクリックします。 次の画面でユーザーのメールアドレスを入力し、再度「 パスワードリセット パスワードリセット 」をクリックします。 完了! このガイドの最後に、back4appを通じてparse serverのコア機能を使用して、アプリのパスワードリセット機能を実装できます!