Skip to main content
Android 向け Auth0 Universal Components を使用すると、Native Android アプリケーション内に、セルフサービスで利用できるアカウントセキュリティ UI を構築できます。 AuthenticatorSettingsComponent を使用すると、ユーザーは Web ブラウザーに移動したりサポートに問い合わせたりすることなく、アプリケーション内で多要素認証 (MFA) の認証要素、パスキー、リカバリーコードなど、自身の認証方法を直接管理できます。

仕組み

AuthenticatorSettingsComponent は、Auth0 の My Account API の認証方法を使用して、アプリケーション内に認証方法管理用の UI をレンダリングします。
My Account API には現在、特に Free ティアの tenant において低いレート制限が設定されています。そのため、これらのコンポーネントの使用中にエラーが発生する場合があります。
認証済みのユーザーがアカウント設定画面を開くと、Auth0.Android SDK は My Account API の audience を対象とするスコープが設定されたアクセストークンを取得します。 AuthenticatorSettingsComponent は アクセストークン を使用して、ログイン中のユーザーとして My Account API の /me/v1/authentication-methods endpoint を呼び出します。そのため、各ユーザーが変更できるのは自分自身の認証方法のみです。
  • AuthenticatorSettingsComponent は、エンドユーザー向けセルフサービスインターフェースを作成します。エンドユーザーは、メール OTP、SMS OTP、TOTP (認証器アプリ) 、Auth0 Guardian を介したプッシュ、パスキー、リカバリーコードなど、アカウントに登録されているすべての認証方法を登録、一覧表示、削除できます。
  • ユーザーが Auth0 Organization を管理するdelegated adminインターフェースについては、Build a Delegated Admin Interface を参照してください。

前提条件

My Account API を有効化する

  1. Auth0 Dashboard > アプリケーション > APIs に移動します。
  2. Activate My Account API を選択して、テナントで有効化されていることを確認します。

アプリケーションを作成し、My Account API の権限を設定する

  1. Auth0 Dashboard > Applications に移動します。
  2. Create Application を選択します。
  3. Native を選択します。
  4. Settings タブを選択し、次のコールバック URL を Allowed Callback URLs に追加します。
  5. Allowed Logout URLs にも同じ URL を追加します。
  6. API Access タブを選択します。
  7. Auth0 My Account APIEdit を選択し、User-delegated Access の権限を追加します。 create:me:authentication_methods read:me:authentication_methods update:me:authentication_methods delete:me:authentication_methods
  8. Save を選択して、権限を保存します。
  • ユーザーのアクセストークンには、ログイン時に付与された権限のみが含まれます。
  • ユーザーが認証方法を登録、確認、削除できるようにするには、4 つすべてのスコープをリクエストします。

SDK をインストールする

Gradle を使用して、com.auth0.universalcomponents:universal-components パッケージをインストールします。インストール手順の詳細とプラットフォーム要件については、Auth0 Universal Components for Android を参照してください。

SDK を初期化する

SDK を初期化するには、通常、アプリケーションの起動時に Application サブクラスまたはランチャー ActivityonCreate から、Auth0UniversalComponents.initialize(...) メソッドを一度だけ呼び出します。
MainActivity.kt

トークンプロバイダーを設定する

Auth0.AndroidCredentialsManager をラップする DefaultTokenProvider を使用して、アプリケーションから資格情報をリクエストします。
Auth0 では、本番環境での連携には Auth0.Android の CredentialsManager を使用することを推奨しています。ストレージ要件を満たせない場合に限り、カスタム TokenProvider を実装してください。
Auth0.Android SDK の CredentialsManager を使用せずに資格情報を管理するには、インターフェースを直接実装します。
コンポーネントをレンダリングする前に、ユーザーを認証する必要があります。SDK を初期化し、TokenProvider を設定したら、設定画面に AuthenticatorSettingsComponent を追加します。これにより、ユーザーは MFA、パスキー、リカバリーコードをセルフサービスで包括的に管理できるようになります。

詳細

認証方法の管理

AuthenticatorSettingsComponent のリファレンス、サポート対象の認証要素、Compose NavHost との連携について確認します。

スタイルとテーマをカスタマイズ

Auth0 のデザイントークンシステムを使用して、色、タイポグラフィ、間隔、角丸、サイズのトークンを上書きします。