FlutterでAndroidでのAuth0のパスキーの登録・ログインを実装してみた

FlutterでAndroidでのAuth0のパスキーの登録・ログインを実装してみた

Clock Icon2025.01.10

こんにちは、ゲームソリューション部のsoraです。
今回は、FlutterでAuth0でのパスキーの登録・ログインを実装してみたことについて書いていきます。

Flutterコードやその他設定ファイルの修正

以下ブログで作成したものをそのまま使用します。
なにも修正せず、Auth0側の設定をするだけでパスキーの実装ができました。
https://dev.classmethod.jp/articles/flutter-android-auth0/

Auth0での設定(データベースの作成・設定)

Auth0にてDatabaseCreate DB Connectionからデータベースを作成します。
sr-flutter-auth0-passkey-01
sr-flutter-auth0-passkey-02

作成する項目で認証方法としてUsernameのみを選択していますが、後にEmail Addressに変更しました。
理由としては、デフォルトのフォームではEmail Addressを求める形になっており、カスタム設定でフォームをするか、Email Addressでの認証を追加しないとDB接続ができませんでした。

Try Connectionで接続しようとしてみると、以下ページに遷移しました。
sr-flutter-auth0-passkey-03

データベースを作成したら、認証方法としてPasskeyを有効化します。
sr-flutter-auth0-passkey-04

ちなみに、もしPasskeyが有効化できない場合は、passkeyのconfigureにて何が設定できていないかが確認できます。
sr-flutter-auth0-passkey-05

次に、このDBを利用するアプリケーションを指定します。
Applicationsからも設定可能です。
sr-flutter-auth0-passkey-06

DBの作成・設定ができたため、User ManagementUsersからユーザを作成します。
今回はDB作成時にサインアップを許可しない設定にしていましたが、許可する設定になっていればログイン画面からアカウント作成することも可能です。

動作確認

Auth0の設定が終わったため、Flutterコードを実行してAndroidで動作確認をしてみます。
ログインボタンを押して、メールアドレスとパスワードを入力します。
sr-flutter-auth0-passkey-07
その後、パスキーの登録が提案されるため、Create a passkeyを押して認証すると、パスキーの作成ができました。
sr-flutter-auth0-passkey-08

一旦ログアウトして、再度ログインボタンを押した後、メールアドレスの入力フォームをクリックすると、保存したパスキーを使用するかの確認が出て、続行するとパスキーでログインすることができました。
sr-flutter-auth0-passkey-09

最後に

今回は、FlutterでAuth0でのパスキーの登録・ログインを実装してみたことを記事にしました。
どなたかの参考になると幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.