Skip to main content
MyAccountAuthMethodsViewコンポーネントは、Auth0 パスキーの登録フローをレンダリングできます。 パスキー登録フローでは、説明画面、プラットフォーム認証器との WebAuthn 登録ハンドシェイク、認証器リストへの登録済み認証要素の追加がレンダリングされます。 パスキーは、他の認証要素と異なり、Universal Components for iOS SDK では設定できないアプリケーション側のプラットフォームエンタイトルメントを必要とします。
説明コンテンツと「パスキーを作成」ボタンを表示するパスキー登録画面

前提条件

iOS SDK 向け Universal Components でパスキーのサポートを有効にするには、次の準備が必要です。

プラットフォームのセットアップ

Xcode で関連ドメインを追加する

Auth0 アプリケーションの Device Settings に Apple Team ID と Bundle ID を登録すると、Auth0 はカスタムドメインから AASA ファイルを配信します。Auth0 のカスタムドメインをアプリケーションに追加します。
  1. Xcode を開きます。
  2. ターゲットの Signing & Capabilities を選択します。
  3. Capability を追加し、Associated Domains を選択します。
  4. Auth0 のカスタムドメインを入力します。
  5. Signing & Capabilities → Team が Auth0 アプリケーションの Device Settings に登録した Apple Team ID と一致し、ターゲットの Bundle Identifier が登録済みの Bundle ID と完全に一致することを確認します。iOS では大文字と小文字を区別してバイト単位で照合されます。たとえば、com.example.OAuth2com.example.oauth2 は異なります。
開発中は、Device Settings を変更した後も、Apple の CDN に古い AASA ファイルが数時間キャッシュされることがあります。開発中に tenant から AASA を直接取得するには、エンタイトルメントに ?mode=developer を追加し (例: webcredentials:YOUR_AUTH0_DOMAIN?mode=developer) 、デバイスで Settings → Developer → Associated Domains Development を有効にします。実機でテストしてください。iOS Simulator では関連ドメインの設定が確実に反映されない場合があります。リリースビルドを出荷する前に、?mode=developer サフィックスを削除してください。

SDK の制限事項

  • パスキーを登録できるのは MyAccountAuthMethodsView コンポーネント内のみです。アプリケーション内の他の場所から、単独でパスキー登録を開始するための公開 SwiftUI API はありません。post-login の「パスキーを保存」アップセルプロンプトはサポートされていません。最新情報は ui-components-ios で確認できます。
  • コンポーネント内でパスキーを削除しても、OS の認証情報ストアからは削除されません。登録済みのパスキーは Auth0 アカウントから切り離されますが、ユーザーが OS レベルの認証情報マネージャーで削除するまで、秘密認証情報は iCloud Keychain に残ります。
  • アテステーションの伝達設定は公開されていません。SDK では、アテステーションポリシー (none / indirect / direct) を選択したり、認証器のトランスポートを列挙したりすることはできません。Auth0 テナントで設定された WebAuthn ポリシーが使用されます。

詳細情報

認証方法の管理

MyAccountAuthMethodsView コンポーネントのリファレンスと、サポート対象の認証要素の一覧をご確認ください。

セルフサービスのアカウントセキュリティインターフェースを構築する

SDK を初期化し、トークンプロバイダーを Auth0 テナントに接続します。