Auth0 Management API には、ユーザーの認証方法を管理するために使用できる複数のエンドポイントが用意されています。
この方法では、機密アプリケーションを使用して認証します。機密アプリケーションとパブリックアプリケーションの違いについて詳しくは、Confidential and Public Applicationsを参照してください。
認証方法の一覧を取得 エンドポイントを使用すると、ユーザーが登録を完了している、または登録途中の認証方法をすべて取得できます。
このエンドポイントには、スコープ read:authentication_methods が必要です。
次のリクエストは、指定したユーザーに対して設定されているすべての認証方法の一覧を返します。
レスポンス
有効なリクエストごとに、 は JSON 形式のレスポンスを返します。
[
{
"id": "totp|dev_XXXXXXXXXXXXXXXX",
"type": "totp",
"confirmed": true,
"created_at": "2021-09-23T22:57:30.206Z",
"last_auth_at": "2021-09-23T22:57:51.652Z"
}
]
認証方法の ID で指定したユーザーの認証方法を 1 つ取得するには、ID による認証方法の取得 エンドポイントを使用します。
このエンドポイントには、次のスコープが必要です: read:authentication_methods.
次のリクエストは、指定した認証方法の ID に基づいて、ユーザーの認証方法を 1 つ返します。
レスポンス
有効なリクエストごとに、Management API は JSON 形式のレスポンスを返します。
{
"id": "totp|dev_XXXXXXXXXXXXXXXX",
"type": "totp",
"confirmed": true,
"created_at": "2021-09-23T22:57:30.206Z",
"last_auth_at": "2021-09-23T22:57:51.652Z"
}
指定したユーザーの認証方法を作成する エンドポイントを使用すると、SMS、メールアドレス、ワンタイムパスワード (OTP) 、またはセキュリティキーを使用する WebAuthn など、ユーザーの認証方法を作成できます。利用可能な MFA 認証要素の詳細については、Multi-Factor Authentication Factors を参照してください。
このエンドポイントには、create:authentication_methods スコープが必要です。
このエンドポイントで作成された認証方法は、自動的に確認済みとなり、すぐに利用可能になります。認証方法が正しく設定されており、現在も有効であることをユーザーに確認してください。
ユーザーにSMSでOTPを送信し、認証を完了する前にそのOTPの入力を求めます。
次のリクエストは、ユーザー用のSMS認証方法を作成します。
有効なリクエストごとに、Management API は JSON 形式でレスポンスを返します。
{
"type": "phone",
"name": "SMS",
"created_at": "2023-01-01T00:00:00.000Z",
"phone_number": "user@example.com",
"id": "phone|dev_XXXXXXXXXXXXXXXX"
}
ユーザーにメールでOTPを送信し、認証を完了する前にそのOTPの入力を求めます。メール認証要素は、ユーザーが利用可能な他の認証要素を持たない場合にのみサポートされます。
次のリクエストは、ユーザー用のメールアドレス認証方法を作成します。
有効なリクエストごとに、Management API は JSON 形式のレスポンスを返します。
{
"type": "email",
"name": "Email Factor",
"created_at": "2023-01-01T00:00:00.000Z",
"email": "user@example.com",
"id": "email|dev_XXXXXXXXXXXXXXXX"
}
ユーザーが Google Authenticator などの認証アプリを個人用デバイスで使用して、一定時間ごとに変化する OTP を生成できるようにします。ユーザーは認証を完了する前に、その OTP を入力するよう求められます。
次のリクエストは、ユーザー用のOTP認証方法を作成します。
有効なリクエストごとに、Management API は JSON 形式でレスポンスを返します。
{
"type": "totp",
"name": "OTP Application",
"created_at": "2023-01-01T00:00:00.000Z",
"email": "user@example.com",
"id": "totp|dev_XXXXXXXXXXXXXXXX"
}
ユーザーが FIDO 準拠のセキュリティキー (たとえば Yubikey や Google Titan) を使用して、多要素認証を行えるようにします。
次のリクエストは、ユーザー用にセキュリティキーを使用する WebAuthn 認証方法を作成します。
有効なリクエストごとに、Management API は JSON 形式でレスポンスを返します。
{
"type": "webauthn-roaming",
"name": "WebAuthn with security keys",
"relyingPartyIdentifier": "example-tenant.auth0.com",
"keyId": "X9FrwMfmzj...",
"publicKey": "bXktcHVibGljLWtle...",
"created_at": "2023-03-09T17:33:47.545Z",
"id": "webauthn-roaming|dev_XXXXXXXXXXXXXXXX"
}
既存のすべての認証方法を、指定した認証方法に置き換えるには、指定した認証方法ですべての認証方法を置き換えて更新する エンドポイントを使用します。
このエンドポイントには、次のスコープが必要です: update:authentication_methods。
次のリクエストは、ユーザーに設定されている既存の認証方法をすべて置き換えます。
レスポンス
有効なリクエストごとに、Management API は JSON 形式でレスポンスを返します。
[
{
"id": "phone|dev_XXXXXXXXXXXXXXXX",
"type": "phone",
"name": "SMS",
"phone_number": "+00000000000",
"created_at": "2023-03-09T17:53:23.647Z",
"preferred_authentication_method": "sms",
"authentication_methods": [
{
"id": "sms|dev_XXXXXXXXXXXXXXXX",
"type": "sms"
}
]
}
]
ユーザーの 1 つの認証方法を更新するには、認証方法を更新する エンドポイントを使用します。
このエンドポイントには、update:authentication_methods スコープが必要です。
次のリクエストは、特定の認証方法の ID を指定して、ユーザーの 1 つの認証方法を更新します。
レスポンス
有効なリクエストごとに、Management API は JSON 形式のレスポンスを返します。
{
"type": "phone",
"name": "Mobile SMS",
"created_at": "2023-01-12T00:03:52.855Z",
"last_auth_at": "2023-01-12T00:04:05.157Z",
"phone_number": "+00000000000",
"preferred_authentication_method": "sms",
"id": "phone|dev_XXXXXXXXXXXXXXXX",
"authentication_methods": [
{
"id": "phone|dev_XXXXXXXXXXXXXXXX",
"type": "phone"
}
]
}
ユーザーのすべての認証方法を削除するには、指定されたユーザーのすべての認証方法を削除する エンドポイントを使用します。
このエンドポイントには、delete:authentication_methods スコープが必要です。
以下のリクエストは、ユーザーに設定されているすべての認証方法を削除します。
レスポンス
有効なリクエストごとに、Management API はステータスコード 204 と空のボディを含むレスポンスを返します。
ユーザーの認証方法を 1 つ削除するには、ID で認証方法を削除する エンドポイントを使用します。
次のリクエストは、指定した認証方法の ID に基づいて、ユーザーの認証方法を 1 つ削除します。
レスポンス
有効なリクエストごとに、Management API はステータスコード 204 でボディが空のレスポンスを返します。