ユーザーのMFA認証システム登録のインポート
自動移行と一括ユーザーインポートを使用して、ユーザーのMFA登録をインポートできます。サポートされている登録タイプは次のとおりです。
メール: メール検証用。
電話: SMS検証用。
OTP: Google Authenticatorなどの認証システムアプリケーションで使用されるワンタイムパスワード(OTP)用。
MFA登録をインポートすると、移行後にユーザーが再登録する必要がなくなるため、シームレスなユーザーエクスペリエンスが実現します。
従来のログインエクスペリエンスでは、複数の要素を持つユーザーの要素選択はサポートされていません。複数の登録要素を持つユーザーをインポートする場合は、ユニバーサルログインエクスペリエンスの使用を検討してください。
スキーマ
スキーマは、次の両方のワークフローのMFA要素に適用されます。
{
"type": "array",
"items": {
"type": "object",
"properties": {
"totp": {
"type": "object",
"properties": {
"secret": {
"type": "string",
"pattern": "^[A-Z2-7]+$",
"description": "The OTP secret is used for MFA authentication with Google Authenticator type apps. It must be supplied in un-padded Base32 encoding, such as: JBTWY3DPEHPK3PNP"
},
},
"additionalProperties": false,
"required": ["secret"],
},
"phone": {
"type": "object",
"properties": {
"value": {
"type": "string",
"pattern": "^\\+[0-9]{1,15}$",
"description": "The phone number for SMS or Voice MFA. The phone number should include a country code and begin with +, such as: +12125550001"
},
},
"additionalProperties": false,
"required": ["value"],
},
"email": {
"type": "object",
"properties": {
"value": {
"type": "string",
"format": "email",
"description": "The email address for MFA"
},
},
"additionalProperties": false,
"required": ["value"],
},
},
"maxProperties": 1,
"additionalProperties": false,
},
"minItems": 1,
"maxItems": 10
}
Was this helpful?
自動移行
MFA登録は、自動移行中にインポートすることもできます。これは、カスタムDBログインスクリプトの最後にコールバックに提供されるユーザーのmfa_factors
フィールドに既存の登録を提供することで実現できます。
失敗はテナントログに失敗したログインとして表示され、次のような説明によって他の失敗と区別できます。MFA要素をインポートできない
。例:
{
"_id": "5e9df3b29ebabe00571c04a7",
"date": "2020-04-20T19:10:42.916Z",
"type": "fu",
"description": "Unable to import MFA factors.",
"connection": "Username-Password-Authentication",
"connection_id": "con_mMkvaycgzgCS0p0z",
"client_id": "aCbTAJNi5HbsjPJtRpSP6BIoLPOrSj2Cgg",
"client_name": "All Applications",
"ip": "10.12.13.1",
"client_ip": null,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36",
"details": {
"error": {
"message": "Unable to import MFA factors."
}
},
"user_name": "test@test.io",
"strategy": "auth0",
"strategy_type": "database"
}
Was this helpful?
一括ユーザーインポート
users.json
ファイルを準備します。詳細については、「一括ユーザーインポート」を参照してください。各ユーザーの既存のMFA登録を含めます。
一括ユーザーインポートを開始します。
最初の要求で
upsert
オプションを有効にして、既存のユーザーの要素を更新します。インポートジョブが完了したら、応答にエラーがないか確認します。ユーザーのMFA要素のいずれかがインポートに失敗した場合は、次のようなエラーが表示されます。
upsert
オプションを使用すると、既存のユーザーに対するMFAに関連しない更新がユーザーのプロファイルに適用されます。たとえば、次のエラーの概要は、ユーザーの画像
属性が正常にhttp://example.org/jdoe.png
に設定されたが、提供されたMFA要素をインポートできなかったことを示しています。このような場合、失敗したユーザーのインポートを再試行しても問題ありません。
[
{
"user": {
"email": "antoinette@contoso.com",
"picture": "http://example.org/jdoe.png",
"mfa_factors": [
{
"totp": {
"secret": "2PRXZWZAYYDAWCD"
}
},
{
"phone": {
"value": "+15551112233"
}
},
{
"email": {
"value": "antoinette@antoinette.biz"
}
}
]
},
"errors": [
{
"code": "MFA_FACTORS_FAILED",
"message": "Unable to import factors"
}
]
}
]
Was this helpful?
復旧コード
Auth0では、復旧コードをインポートする方法は提供されていません。ユーザーのMFA要素がインポートされても、復旧コードは提供されません。
ユーザーに復旧コードを提供するには、ユーザーが復旧コードを登録しているかどうかを確認し、登録していない場合は復旧コード再生成エンドポイントを使用して新しいコードを生成します。