メインコンテンツへスキップ
パスキーは、従来の認証方法 (username とパスワードなど) に代わるフィッシング耐性のある認証手段で、より簡単かつ安全なユーザーエクスペリエンスを提供します。実装の詳細については、モバイルアプリケーション向けネイティブ パスキーを参照してください。 ネイティブ パスキーでは、Auth0 とネイティブの iOS または Android API を組み合わせて、チャレンジフローをモバイルアプリケーションに直接組み込みます。以下に示すエンドポイントは、Auth0 Authentication API の一部です。この API の使用方法の詳細については、Authentication API Introductionを参照してください。 パスキーには、関連する 3 つのフローがあります。
  • Signup: パスキーを主な認証方法として使用する新しいユーザーアカウントを作成します。
  • Enrollment: 既存のユーザーアカウントに、認証方法としてパスキーを追加します。
  • Login: 既存のユーザーに対して、そのアカウントに関連付けられたパスキーを使用して認証するよう求めます。

サインアップフロー

サインアップチャレンジをリクエスト

POST /passkey/register 新しいユーザー向けのパスキーのサインアップフローを開始します。 レスポンスとして、Auth0 は PublicKeyCredentialCreationOptions とセッション ID を返します。セッションのタイムアウトについては、レスポンス内の authn_params_public_keytimeout を確認してください。 パスキーのサインアップフローは、組織のログインフロー で説明されている動作に従って、organization パラメーターによる組織のサポートに対応しています。アプリケーションが Business Users 向けに設定されている場合は、organization パラメーターと、有効な組織名または識別子の値を指定する必要があります。ユーザーがパスキーを登録すると、Auth0 はそのユーザーを指定された組織に登録します。

リクエストパラメーター

コードサンプル

リクエスト
レスポンス

注記

  • チャレンジリクエストが完了したら、アプリケーションはネイティブのAndroidまたはiOS API を使用して、ユーザー登録プロセスを続行できます。
  • その後、フローを完了するには、ネイティブ API を通じて取得した情報を使用して新しいユーザーを認証する必要があります。

新規ユーザーの認証

サインアップ時に同じ接続で SMS/メールアドレス OTP の検証が必要な場合、現在、ネイティブ パスキー登録はサポートされていません。
POST /oauth/token を使用して、指定した認証情報でユーザーを認証し、アカウントを作成して、要求されたトークンを返します。 authn_response パラメーターは、Web Authentication API の仕様 に基づいています。ネイティブ パスキーフローでは、このエンドポイントに渡す情報は、モバイルアプリケーションのネイティブ API を通じて取得できます。

リクエストパラメーター

コード例

リクエスト
レスポンス

登録フロー

ユーザーの新しいパスキーを登録するには、My Account API を使用する 2 段階のプロセスを実行します。このフローにより、パスキー登録が安全に開始され、その後に検証されます。 登録フローを開始する前に、/me エンドポイントの create:me:authentication_methods スコープを持つ があることを確認してください。

パスキーの登録を開始する

POST /me/v1/authentication-methods 最初のステップでは、登録プロセスを開始します。これを行うには、/me/v1/authentication-methods エンドポイントに POST リクエストを送信します。

リクエストパラメーター

コード例

リクエスト
レスポンス

注記

  • レスポンス本文内の auth_session プロパティは、現在の認証セッションの識別子です。これを /verify エンドポイントに渡す必要があります。
  • チャレンジリクエストの完了後、アプリケーションはネイティブの Android または iOS API を使用して、ユーザーの登録プロセスを続行できます。これにより、ユーザーは認証器 (指紋スキャナー、セキュリティキー、スマートフォンなど) を使ってパスキーを作成するよう求められます。

パスキー登録の確認

POST /me/v1/authentication-methods/passkey|new/verify
新規登録の場合、パス内の ID は常に passkey|new です。
ユーザーが認証器でパスキーの作成に成功すると、クライアントアプリケーションは WebAuthn API から AuthenticatorAttestationResponse を受け取ります。登録を完了して確認するには、このレスポンスを Auth0 サービスに送り返す必要があります。

リクエストパラメーター

コードサンプル

リクエスト

備考

この手順が正常に完了すると、ユーザーのパスキーが登録され、以後の認証で使用できるようになります。

ログインフロー

ログインチャレンジをリクエスト

POST /passkey/challenge 初回のサインアップ時にアカウントにパスキーを保存した既存のユーザーに対して、パスキーのログインフローを開始します。 レスポンスとして、Auth0 は PublicKeyCredentialRequestOptions、セッション ID、および Relying Party 識別子 rpId を返します。セッションのタイムアウトは、レスポンス内の authn_params_public_keytimeout を確認してください。レスポンスで返される rpId は、ネイティブデバイス (iOS/Android) がドメインに紐付けられた保存済み認証情報を検索する際に使用する識別子です。Web アプリケーション (例: example.com) で作成されたパスキーをネイティブフローで利用できるようにするには、返される rpId が Web 側の rpId と一致している必要があります。テナントの RP ID をカスタマイズする方法については、Configure Passkey Policy を参照してください。 パスキーのログインフローは、組織のログインフロー で説明されている動作に従い、organization パラメーターを通じて組織をサポートします。アプリケーションが Business Users 向けに設定されている場合は、organization パラメーターと、有効な組織名または識別子の値を指定する必要があります。 発行されるすべてのトークンは、指定された組織のコンテキストで発行されます。組織で Auto-Membership を有効にしている場合、ユーザーは認証に成功した後、その組織に自動的に登録されます.

リクエストパラメーター

コード例

リクエスト
レスポンス

補足

  • チャレンジリクエストが完了したら、アプリケーションはネイティブの Android または iOS API を使用してログインプロセスを続行できます。
  • その後、フローを完了するには、ネイティブ API から取得した情報を使用して 既存のユーザーを認証 する必要があります。

既存ユーザーを認証する

POST /oauth/token トークンエンドポイントを使用して、指定された認証情報でユーザーを認証し、要求されたトークンを返します。 authn_response パラメーターは、Web Authentication API 仕様 に基づいています。ネイティブのパスキーフローでは、このエンドポイントに渡す情報を、モバイルアプリケーションのネイティブ API から取得できます。

リクエストパラメーター

コード例

リクエスト
レスポンス