Auth0を使用すると、アプリケーションに認証を迅速に追加し、ユーザープロファイル情報にアクセスできます。このガイドでは、Auth0 Flutter SDKを使用して、Auth0をFlutterアプリケーションに統合する方法を説明します。このクイックスタートは、Flutter アプリケーションがすでに稼働していることを前提としています。まだの場合は、Flutter の「はじめに」ガイドを参照して、シンプルなアプリを作成してください。Flutterコマンドラインツールについても理解しておく必要があります。
これでクイックスタートチュートリアルは終了ですが、他にも多くの機能があります。Auth0でできることの詳細については、以下をご確認ください:
Flutter SDK は現在、Android、iOS、または Web 上で動作する Flutter アプリケーションのみをサポートしています。
Auth0 にサインアップしたときに、新しいアプリケーションが作成されているか、もしくはご自身で新しくアプリケーションを作成しているはずです。
Auth0 と連携するには、そのアプリケーションに関するいくつかの情報が必要になります。これらの情報は Auth0 Dashboard の Application
Settings セクションから取得できます。
次の情報が必要です。

Native または Single Page Application で Default App を使用する場合は、Token
Endpoint Authentication Method を
None に更新し、Application Type を
SPA または Native のいずれかに設定してください。- Domain
- Client ID
このページ上部からサンプルをダウンロードした場合、これらの情報はあらかじめ入力されています。
コールバックURLの設定
コールバックURLは、ユーザーが認証された後に Auth0 がアプリケーションへリダイレクトする URL です。 アプリのコールバックURLは、Application Settings の Allowed Callback URLs フィールドに追加する必要があります。このフィールドが設定されていない場合、ユーザーはアプリケーションにログインできず、エラーが発生します。このページ上部からダウンロードしたサンプルプロジェクトに従っている場合、Allowed Callback URL を
http://localhost:3000 に設定してください。ログアウトURLの設定
ログアウトURLは、ユーザーが認可サーバーからログアウトされた後に、Auth0 がアプリケーションにリダイレクトできる URL です。これはreturnTo クエリパラメーターで指定されます。アプリのログアウトURLは、Application Settings の Allowed Logout URLs フィールドに追加する必要があります。このフィールドが設定されていない場合、ユーザーはアプリケーションからログアウトできず、エラーが発生します。このページ上部からダウンロードしたサンプルプロジェクトに従っている場合、Allowed Logout URLs フィールドに追加する必要があるログアウトURLは
http://localhost:3000 です。Allowed Web Origins の設定
アプリの URL を Application Settings の Allowed Web Origins フィールドに追加する必要があります。ここにアプリケーションの URL を登録しない場合、アプリケーションは認証トークンをサイレントリフレッシュできず、ユーザーは次回アプリケーションにアクセスしたとき、またはページを更新したときにログアウトされてしまいます。このページ上部からダウンロードしたサンプルプロジェクトに従っている場合、Allowed Web Origins を
http://localhost:3000 に設定してください。Universal Login は、
アプリケーションに認証をセットアップする最も簡単な方法です。最高のエクスペリエンスとセキュリティ、そして最も充実した機能を利用するために、その使用を推奨します。ユーザーがログインすると、アプリケーションにリダイレクトされて戻ってきます。その後、起動時に
Auth0Web クラスを使用して、Flutter Web アプリに Auth0 Universal Login を統合します。loginWithRedirect() を使用して、
ユーザーを Auth0 Universal Login ページにリダイレクトします。通常は
loginWithRedirect に対して redirectUrl パラメーターを指定する必要があります。これを省略すると、Auth0 は 既定のログインルート を使用しますが、これはデフォルトでは構成されていません。onLoad を呼び出し、
渡された認証情報を処理することで、このユーザーの ID トークンとアクセストークンにアクセスできます。チェックポイント
アプリに、loginWithRedirect() を呼び出してユーザーをアプリにログインさせるボタンを追加します。
認証のために Auth0 にリダイレクトされ、その後アプリケーションに戻ってくることを確認します。onLoad の呼び出し結果として credentials にアクセスでき、
ID トークンとアクセストークンにもアクセスできることを確認します。ユーザーをログアウトさせるには、Auth0 Flutter ソフトウェア開発キット (SDK) の
logout() を呼び出し、Auth0 のログアウトエンドポイントへリダイレクトしてログインセッションをクリアします。Auth0 からのログアウトの詳細はこちらをご覧ください。通常は
logout を呼び出すときに returnToUrl を指定する必要があります。指定しない場合、
Auth0 はデフォルトで、許可されたログアウトURLのリスト内の最初の URL を使用します。チェックポイント
logout() を呼び出してアプリケーションからユーザーをログアウトさせるボタンを、アプリに追加します。
そのボタンを選択したときに、Flutter アプリがログアウトエンドポイントにリダイレクトされ、再び戻ってくることを確認してください。
アプリケーションにログインしたままになっていないことを確認してください。次のステップ
素晴らしい!ここまで進めたなら、アプリケーションでログイン、ログアウト、ユーザープロファイル情報が動作しているはずです。これでクイックスタートチュートリアルは終了ですが、他にも多くの機能があります。Auth0でできることの詳細については、以下をご確認ください:
- Auth0 Dashboard - Auth0 テナントとアプリケーションの設定と管理について学びます
- auth0-flutter SDK - このチュートリアルで使用するソフトウェア開発キット (SDK) についてさらに詳しく確認してください
- Auth0 Marketplace - 有効化して Auth0 の機能を拡張できるインテグレーションを見つける