Flutterアプリケーションにログインを追加する
Auth0を使用すると、アプリケーションに手軽に認証を追加して、ユーザープロファイル情報にアクセスすることができます。このガイドでは、FlutterアプリケーションにAuth0 Flutter SDKを使ってAuth0を統合する方法を説明します。
このクイックスタートでは、すでにFlutterアプリケーションが問題なく作動しているものとします。そうでない場合は、Flutter「入門」ガイドをチェックして、シンプルなアプリの始め方を確認してください。
Flutterコマンドラインツールの知識も必要になります。
Auth0にサインアップすると、新しいアプリケーションが作成されたか、あるいは既に作成していた可能性があります。Auth0と通信するためのアプリケーションに関する詳細が必要になります。これらの詳細は、Auth0 Dashboardのアプリケーションの設定セクションで入手することができます。

必要な情報は以下のとおりです。
Domain(ドメイン)
Client ID(クライアントID)
Callback URLを構成する
Callback URLとは、Auth0によって認証後のユーザーをリダイレクトするアプリケーション内URLです。アプリのCallback URLは、アプリケーションの設定で[Allowed Callback URLs(許可されているコールバックURL)]フィールドに追加される必要があります。このフィールドが設定されていない場合、ユーザーはアプリケーションにログインできず、エラーが返されます。
ログアウトURLを構成する
ログアウトURLとは、ユーザーが認可サーバーからログアウトした後にAuth0が戻ることができるアプリケーション内URLです。これは、returnTo
クエリパラメーターで指定されています。アプリのログアウトURLは、アプリケーションの設定で[Allowed Logout URLs(許可されているログアウトURL)]フィールドに追加される必要があります。このフィールドが設定されていない場合、ユーザーはアプリケーションからログアウトできず、エラーが返されます。
許可されているWebオリジンを構成する
アプリのURLをアプリケーションの設定で[Allowed Web Origins(許可されているWebオリジン)]フィールドに追加する必要があります。ここでアプリケーションURLを登録しないと、アプリケーションは認証トークンを暗黙でリフレッシュできず、ユーザーがアプリケーションを再び訪問した時、またはページを再読み込みした時にログアウトした状態になってしまいます。
Auth0 Flutter SDKをプロジェクトに追加します:
flutter pub add auth0_flutter
Was this helpful?
以下のスクリプトタグをindex.html
ページに追加します:
<script src="https://cdn.auth0.com/js/auth0-spa-js/2.0/auth0-spa-js.production.js" defer></script>
Was this helpful?
アプリに認証をセットアップするには、ユニバーサルログインが最も手軽な方法です。最良のエクスペリエンス、高い安全性、幅広い機能を活用するためにも、ユニバーサルログインの使用をお勧めします。
Auth0Web
クラスを使用して、Auth0のユニバーサルログインをFlutter Webアプリに統合します。loginWithRedirect()
を使用して、ユーザーをAuth0のユニバーサルログインページにリダイレクトします。
ユーザーはログインすると、リダイレクトでアプリケーションに戻されます。次に、起動中にonLoad
を呼び出し、付与された資格情報を処理することで、このユーザーのIDとアクセストークンにアクセスすることができます。
auth0.onLoad().then((final credentials) => setState(() {
// Handle or store credentials here
_credentials = credentials;
}));
Was this helpful?
checkpoint.header
loginWithRedirect()
を呼び出してアプリにユーザーをログインするボタンをアプリに追加します。認証のためにAuth0へリダイレクトされてから、アプリケーションに戻されることを確認します。
onLoad
を呼び出した結果、credentials
にアクセスできることと、IDとアクセストークンにアクセスできることを確認します。
ユーザーをログアウトさせるには、Auth0 Flutter SDKのlogout()
を呼び出してログインセッションをクリアし、ユーザーをAuth0のログアウトエンドポイントにリダイレクトします。Auth0からのログアウトについて詳しい情報をお読みください。
checkpoint.header
logout()
を呼び出し、ユーザーをアプリケーションからログアウトするアプリにボタンを追加します。このボタンを選択すると、Flutterアプリがログアウトエンドポイントにリダイレクトしてからもう一度戻ることを確認します。アプリケーションにはログインされていないはずです。
ユーザープロファイルは、ページが読み込まれるとユーザープロファイルプロパティを自動的に取得し、アプリケーション起動中にonLoad
を呼び出すことでアクセス・保存することができます。onLoad
から返されたオブジェクトには、すべてのユーザープロファイルプロパティのあるuser
プロパティが含まれています。これらはIDトークンをデコードすることで内部で入力されます。
checkpoint.header
ログインして、結果のuser
プロパティを調査します。email
やname
など、現在のユーザーのプロファイル情報を確認します。
Next Steps
Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application.
This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out:
- Auth0 Dashboard - Learn how to configure and manage your Auth0 tenant and applications
- auth0-flutter SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
- Configure other identity providers
- Enable multifactor authentication
- Learn about attack protection
- Learn about Actions
Sign up for an or to your existing account to integrate directly with your own tenant.