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

仕組み

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

前提条件

Auth0 My Account API を有効にする

  1. Dashboard > Applications > APIs に移動します。
  2. Activate My Account API を選択して、テナントで有効化します。

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

  1. Dashboard > Applications に移動します。
  2. Create Application を選択します。
  3. Native を選択します。
  4. Settings タブを選択し、Allowed Callback URLs に以下のコールバック URL を追加します。
  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 をインストールする

Swift Package Manager または Carthage を使用して、Auth0UniversalComponents パッケージをインストールします。 インストールの詳細と要件については、iOS 向け Auth0 Universal Componentsをお読みください。

SDK を初期化する

SDK を初期化するには、通常、アプリケーションの起動時にアプリケーション構造体の init 内で Auth0UniversalComponentsSDKInitializer.initialize(...) メソッドを一度呼び出します。 すでに Auth0.plist を使用して Auth0.swift を設定している場合は、ClientIdDomainAudience キーを追加し、次のように呼び出します。
App.swift
または、コード内で値を直接渡します。
App.swift

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

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

詳細情報

認証方法の管理

MyAccountAuthMethodsView コンポーネントのリファレンス、サポート対象の認証要素、埋め込みナビゲーションの例をご覧ください。

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

Auth0のデザイントークンシステムを使用して、色、タイポグラフィ、余白、角丸、サイズのトークンをオーバーライドします。