Benutzerdefinierte Anmeldeseite mit der On-Demand-MFA-API entwickeln
Dieser Anwendungsfall enthält ein schrittweises Beispiel für die Verwendung der REST-API für Identitätsdomains, um Benutzer zu authentifizieren und eine Multifaktor-Registrierung und -Authentifizierung durchzuführen.
Verwenden Sie diese Authentifizierungs-API nur, wenn Sie Ihre eigene End-to-End-Anmeldeerfahrung erstellen, indem Sie eine benutzerdefinierte Anmeldeanwendung entwickeln, die von Identitätsdomains verwendet werden soll.
Diese Authentifizierungs-API kann nicht zur Integration Ihrer Anwendungen mit Identitätsdomains für Single Sign-On-Zwecke verwendet werden.
Die On Demand-MFA-API basiert auf dem Konzept eines Zustandsrechners. Anforderungsantworten informieren einen Anwendungsclient darüber, was als Nächstes zu tun ist, anstatt zu verlangen, dass Benutzer Cookies von Drittanbietern in ihren Browsern aktivieren. Cookies von Drittanbietern, die in Browsern aktiviert werden, können zu Problemen führen, insbesondere bei B2C-Anwendungen, bei denen das Verhalten von Endbenutzern nicht durchgesetzt werden kann. Die in jeder Anforderungsantwort angegebene requestState wird in der nächsten Anforderung verwendet. Sie stellt dem Client die Informationen zur Verfügung, die er zur Verarbeitung der Anforderung benötigt, und stellt dann die nächste Gruppe von zulässigen Vorgängen bereit.
- Benutzeranmeldung mit vom Administrator aktivierten MFA-Faktoren unterstützen
- Verbessern Sie die Sicherheit der kennwortbasierten Authentifizierung mit der Multifaktor-Authentifizierung (MFA), indem Sie zusätzliche Verifizierungen erfordern, wie z. B. einen zeitbasierten Einmal-Passcode oder einen SMS-Passcode.
- MFA-Registrierung, MFA-Verifizierung und Verwaltung des Benutzerauthentifizierungsfaktors durchführen.
In diesem Anwendungsfall sind die folgenden Beispielsets enthalten:
Faktoranmeldung mit Verifizierung
Diese Anwendungsfälle stellen Beispielanforderungen mit der REST-API für Identitätsdomains dar, mit der sich ein Benutzer für MFA-Faktoren registrieren kann.
Die folgenden Anwendungsfälle führen Sie durch die Schritte zum Registrieren verschiedener MFA-Faktoren mit der REST-API:
Angemeldete Faktoren eines Benutzers abrufen
Dieser Anwendungsfall enthält ein schrittweises Beispiel für die Verwendung der Verifizierungs-API für Identitätsdomains zum Abrufen der Faktoren, für die ein Benutzer registriert ist.
Bei diesen Schritten wird davon ausgegangen, dass relevante Faktoren von MFA mit Einstellungen für die Multifaktor-Authentifizierung konfigurieren aktiviert sind.
Laden Sie die Collection der Anwendungsbeispiele für die Authentifizierung von Identitätsdomains und die globale Variablendatei aus dem Ordner idcs-factor-enrollment-api im Repository idm-samples GitHub herunter, und importieren Sie sie dann in Postman.
userGUID oder User Name anfordern möchten: In den Beispielen in diesem Abschnitt wird
userGUID in den Anforderungen verwendet. Sie können in Ihren Anforderungen sowohl userGUID als auch userOcid anfordern.Schritt 1: Registrierte Faktoren für einen Benutzer von userGUID abrufen
Mit diesem Schritt werden die registrierten Faktoren für einen Benutzer basierend auf dem userGUID- oder Benutzernamen abgerufen.
Anforderungsbeispiel
GET {{HOST}}/mfa/v1/users/{{userGUID}}/factors
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{
"userGUID": "7b3d902ab05b4214bae6b2924ca6be21",
"status": "success",
"preferredFactorId": "b3e04149d958437b9b801fa70c33ca70",
"preferredMethod": "EMAIL",
"factors": [
{
"factorId": "SecurityQuestions",
"methods": [
"SECURITY_QUESTIONS"
]
},
{
"displayName": "+155XXXXX555",
"factorId": "83889faeacaf4592a964405f87506fc6",
"methods": [
"SMS"
]
},
{
"displayName": "uxxr1@example.com",
"factorId": "b3e04149d958437b9b801fa70c33ca70",
"methods": [
"EMAIL"
]
},
{
"factorId": "BypassCode",
"methods": [
"BYPASSCODE"
]
}
]
}
Die Antwort enthält die Details userGUID, den bevorzugten Faktor und den registrierten Faktor.
Schritt 2: Registrierte Faktoren für einen Benutzer mit Filtern abrufen
Sie können registrierte Faktoren für einen Benutzer entweder mit dem Benutzernamen oder der Benutzer-GUID abrufen. Die folgenden userIdType-Werte werden akzeptiert:
- USER_GUID: Beispiel: Hier muss
userIdUSER_GUID wie "7b3d902ab05b4214" enthalten - USER_NAME: Beispiel: Hier muss
userIdUSER_NAME wie John enthalten.
Anforderungsbeispiel zum Abrufen der registrierten Faktoren basierend auf dem Benutzernamen
GET {{HOST}}/mfa/v1/users?userId=user1@example.com&userIdType=USER_NAME&attributes=factors
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{
"userGUID": "589879c55b7340518141eab82493f0cc",
"status": "success",
"preferredFactorId": "88178d80636a428393a5674ba46dc867",
"preferredMethod": "SMS",
"factors": [
{
"factorId": "BypassCode",
"methods": [
"BYPASSCODE"
]
},
{
"displayName": "user1@example.com",
"factorId": "30db2274140043918edb033d9fe29ff3",
"methods": [
"EMAIL"
]
},
{
"displayName": "+1554455555",
"factorId": "88178d80636a428393a5674ba46dc867",
"methods": [
"SMS"
]
}
]
}
Die Antwort enthält die Details userGUID, den bevorzugten Faktor und den registrierten Faktor.
Anforderungsbeispiel zum Abrufen der registrierten Faktoren basierend auf Benutzer-GUID
GET {{HOST}}/mfa/v1/users?userId=589879c55b7340518141eab82493f0cc&userIdType=USER_GUID&attributes=factorsAntwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{
"userGUID": "589879c55b7340518141eab82493f0cc",
"status": "success",
"preferredFactorId": "88178d80636a428393a5674ba46dc867",
"preferredMethod": "SMS",
"factors": [
{
"factorId": "BypassCode",
"methods": [
"BYPASSCODE"
]
},
{
"displayName": "user1@example.com",
"factorId": "30db2274140043918edb033d9fe29ff3",
"methods": [
"EMAIL"
]
},
{
"displayName": "+1554455555",
"factorId": "88178d80636a428393a5674ba46dc867",
"methods": [
"SMS"
]
}
]
}
Die Antwort enthält die Details userGUID, den bevorzugten Faktor und den registrierten Faktor.
Bevorzugten Faktor initiieren und prüfen
Dieser Anwendungsfall enthält ein schrittweises Beispiel für die Verwendung der Identitätsdomains "Faktor-Registrierungs-API", um sich bei der Faktorverifizierung für die Multifaktor-Authentifizierung (MFA) anzumelden.
Bei diesen Schritten wird davon ausgegangen, dass relevante Faktoren von MFA mit Einstellungen für die Multifaktor-Authentifizierung konfigurieren aktiviert sind.
Laden Sie die Collection der Anwendungsbeispiele für die Authentifizierung von Identitätsdomains und die globale Variablendatei aus dem Ordner idcs-factor-verification-api im Repository idm-samples GitHub herunter, und importieren Sie sie dann in Postman.
Laden Sie die Collection und die globale Variablendatei aus dem Ordner idcs-factor-verification-api in GitHub herunter, und importieren Sie sie dann in Postman.
In den Beispielen in diesem Abschnitt wird
userGUID in den Anforderungen verwendet. Sie können in Ihren Anforderungen sowohl userGUID als auch userOcid anfordern.Step1: Verifizierung des bevorzugten Faktors initiieren
Dieser Schritt initiiert die Verifizierung des bevorzugten Faktors eines Benutzers. Wenn Sie die Verifizierungsfaktor-API verwenden müssen, ohne die userGUID anzugeben, können Sie eine eindeutige Benutzer-ID wie den Benutzernamen als userId angeben. Die userIdType in der Anforderung gibt an, welchen Typ von Zugangsdaten der Benutzer als Wert für die userId übergibt. Die folgenden userIdType-Werte werden akzeptiert:
- USER_GUID: Beispiel: Hier muss
userIdUSER_GUID wie "7b3d902ab05b4214" enthalten - USER_NAME: Beispiel: Hier muss
userIdUSER_NAME wie John enthalten.
Das Attribut userId enthält den tatsächlichen Wert der übergebenen Benutzerzugangsdaten.
Anforderungsbeispiel
Das folgende Beispiel zeigt die POST-Anforderung an den Endpunkt {{HOST}}/mfa/v1/requests im JSON-Format.
{
"userId":"{{userGUID}}",
"userIdType": "USER_GUID"
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der POST-Antwort an den Endpunkt {{HOST}}/mfa/v1/requests im JSON-Format, nachdem der bevorzugte Faktor für die bevorzugte ID initiiert wurde:
{
"status": "success",
"requestId": "f843736e-cbd8-4548-b41f-343b624a79fc",
"userGUID": "589879c55b7340518141eab82493f0cc",
"factorId": "88178d80636a428393a5674ba46dc867",
"method": "SMS",
"displayName": "+4455665455",
"requestState": "GwHJr3RvycjNEv.....MhQTLmWYzA/LVp0s"
}
In der Antwort ist der Wert requestId die eindeutige ID, die für diese Anforderung generiert wurde. Nehmen Sie die requestId in jeden nachfolgenden Aufruf auf, um die Faktorverifizierung abzuschließen. factorId ist das bevorzugte Gerät, auf dem es initiiert wurde. method ist der Faktor, den der Benutzer initiiert hat. Die requestState enthält die kontextbezogenen Daten, die zur Verarbeitung der Anforderung erforderlich sind.
In diesem Beispiel wird eine otpCode (bei SMS und EMAIL-Faktor) per SMS an das Mobilgerät des Benutzers gesendet.
Schritt 2: Bevorzugten Faktor prüfen
Dieser Schritt prüft den Faktor, indem der otpCode in einer PATCH-Anforderung an {{HOST}}/mfa/v1/requests/{{requestId}} übergeben wird.
Der Client muss die folgenden Attribute enthalten:
otpCode:den vom Benutzer auf seinem Gerät empfangenen Code-
requestState: in der Antwort von Schritt 1 empfangen requestId: in der Antwort von Schritt 1 empfangen
Anforderungsbeispiel
Das folgende Beispiel zeigt den Inhalt der PATCH-Anforderung im JSON-Format:
{
"otpCode":"170230",
"requestState": "{{requestState}}"
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{"status":"success"}
Der Erfolg gibt an, dass die Verifizierung erfolgreich war.
Backupfaktor initiieren und prüfen
Dieser Anwendungsfall enthält ein schrittweises Beispiel für die Verwendung der Verifizierungs-API für Identitätsdomains, um die Faktorverifizierung des Backupfaktors abzuschließen.
Bei diesen Schritten wird davon ausgegangen, dass relevante Faktoren von MFA mit Einstellungen für die Multifaktor-Authentifizierung konfigurieren aktiviert sind.
Laden Sie die Collection der Anwendungsbeispiele für die Authentifizierung von Identitätsdomains und die globale Variablendatei aus dem Ordner idcs-factor-verification-api im Repository idm-samples GitHub herunter, und importieren Sie sie dann in Postman.
In den Beispielen in diesem Abschnitt wird
userGUID in den Anforderungen verwendet. Sie können in Ihren Anforderungen sowohl userGUID als auch userOcid anfordern.Schritt 1: Sicherheitsfragen zum Backupfaktor initiieren und prüfen
Dieser Schritt initiiert die Verifizierung des Backupfaktors eines Benutzers. Der Client muss in der Anforderung sowohl factorId als auch method angeben. Wenn Sie die Verifizierungsfaktor-API verwenden müssen, ohne die userGUID anzugeben, können Sie eine eindeutige Benutzer-ID wie den Benutzernamen als userId angeben. Die userIdType in der Anforderung gibt an, welchen Typ von Zugangsdaten der Benutzer als Wert für die userId übergibt. Die folgenden userIdType-Werte werden akzeptiert:
- USER_GUID: Beispiel: Hier muss
userIdUSER_GUID wie"7b3d902ab05b4214"enthalten. - USER_NAME: Beispiel: Hier muss
userIdUSER_NAME wieJoe Johnenthalten.
Das Attribut userId enthält den tatsächlichen Wert der übergebenen Benutzerzugangsdaten.
Eine Liste der angemeldeten Faktoren und ihrer IDs für einen Benutzer finden Sie im Anwendungsfall Angemeldete Faktoren eines Benutzers abrufen. In diesem Beispiel ist der gewählte Backup-Faktor "Sicherheitsfragen".
Anforderungsbeispiel zum Initiieren von Sicherheitsfragen für Backupfaktor
Das folgende Beispiel zeigt den Inhalt der POST-Anforderung an den {{HOST}}/mfa/v1/requests/-Endpunkt im JSON-Format:
Die bevorzugte
factorId enthält die eindeutige ID des bevorzugten Faktors. Bei SECURITY_QUESTIONS wird die feste Zeichenfolge "SecurityQuestions" verwendet.{
"userId":"{{userID}}",
"userIdType":"USER_GUID",
"factorId":"{{factorID}}",
"method":"SECURITY_QUESTIONS"
}
In der Antwort ist der Wert requestId die eindeutige ID, die für diese Anforderung generiert wurde. Nehmen Sie die requestId in jeden nachfolgenden Aufruf auf, um die Faktorverifizierung abzuschließen. Die requestState enthält kontextbezogene Daten, die zur Verarbeitung der Anforderung erforderlich sind.
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format für die Backupmethode SEQURITY_QUESTIONS:
{
"status": "success",
"requestId": "8da79411-5388-41ee-990e-935e74cb40f3",
"userGUID": "589879c55b7340518141eab82493f0cc",
"factorId": "SecurityQuestions",
"method": "SECURITY_QUESTIONS",
"requestState": "hBJIvkyfsXBv....movYarft8HlYANV3c+0",
"securityQuestions": [
{
"id": "MaidenName",
"localizedText": "What's your mother's maiden name?"
}
]
}
In der Antwort ist der Wert requestId die eindeutige ID, die für diese Anforderung generiert wurde. Nehmen Sie die requestId in jeden nachfolgenden Aufruf auf, um die Faktorverifizierung abzuschließen. Die requestState enthält kontextbezogene Daten, die zur Verarbeitung der Anforderung erforderlich sind. In diesem Beispiel wird eine Frage aus der Liste der angemeldeten Fragen zurückgesendet, auf die der Benutzer antworten muss.
Anforderungsbeispiel zur Prüfung von Sicherheitsfragen für Backupfaktor
Dieser Schritt prüft den Backupfaktor, indem die Antwort auf die Sicherheitsfrage in einer PATCH-Anforderung an {{HOST}}/mfa/v1/requests/{{requestID}} übergeben wird. Der Client muss die folgenden Attribute enthalten:
requestState:in der Schritt-1-Antwort empfangensecurityQuestions id/answers: Wird vom Benutzer bei der Anmeldung definiert
Anforderungsbeispiel
{
"securityQuestions":[
{
"id":"MaidenName",
"answer":"Smith"
}
],
"requestState": "{{requestState}}"
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{"status":"success"}
Der Erfolg gibt an, dass die Verifizierung erfolgreich war.
Schritt 2: Backupfaktor EMAIL starten und prüfen
Dieser Schritt initiiert die Verifizierung eines Backupfaktors EMAIL.
Anforderungsbeispiel zum Initiieren des E-Mail-Faktors
Das folgende Beispiel zeigt das Anforderungsbeispiel im JSON-Format für die bevorzugte Methode "EMAIL":
{
"userId":"{{userID}}",
"userIdType":"USER_GUID",
"factorId":"{{factorID}}",
"method":"EMAIL"
}
Antwortbeispiel
Das folgende Beispiel zeigt das Antwortbeispiel zum Initiieren des EMAIL-Faktors im JSON-Format:
{
"status":"success",
"requestId":"<Request ID>",
"userGUID":"<User GUID>",
"factorId":"factorID",
"method":"EMAIL",
"displayName":"Joe John",
"requestState":"QYV81R9eoagwWQ"
}
Anforderungsbeispiel zur Prüfung des E-Mail-Faktors
Das folgende Beispiel zeigt die PATCH-Anforderung im JSON-Format für den EMAIL-Faktor:
{
"otpCode":"170230"
"requestState": "QYV81R9eoagwWQ"
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format, um den EMAIL-Faktor zu prüfen:
{"status":"success"}
Der Erfolg gibt an, dass die Verifizierung erfolgreich war.
OTP-Faktoren ohne Benachrichtigung des Benutzers zurückgeben
Dieser Anwendungsfall enthält ein Beispiel dafür, wie Sie die On Demand-MFA-API initiieren, um Einmal-Passcode-(OTP-)Faktoren (SMS oder E-Mail oder Telefonanruf) in einer Antwort zurückzugeben, ohne den Benutzer zu benachrichtigen.
Laden Sie die Collection der Anwendungsbeispiele für die Authentifizierung von Identitätsdomains und die globale Variablendatei aus dem Ordner idcs-factor-verification-api im Repository idm-samples GitHub herunter, und importieren Sie sie dann in Postman.
Bei diesen Schritten wird davon ausgegangen, dass relevante Faktoren von MFA mit Einstellungen für Multifaktor-Authentifizierung konfigurieren aktiviert werden.
| Attribut | Unterstützte Werte/Beispielwerte | Mehrwertig | Nutzungsdetails |
|---|---|---|---|
userFlowControlledByExternalClient |
True / False | False |
Diese Option setzen auf
und das OTP wird in der Antwort in dem angegebenen verschlüsselten Format zurückgegeben. Hinweis: Das für die Verschlüsselung verwendete Zertifikat wird im Voraus in die Anwendung hochgeladen und mit dem Attribut |
| x5t | Zeichenfolge / X509 SHA-1 Zertifikat-Thumbprint |
Wenn angegeben, verwendet der Service dieses hochgeladene Zertifikat zur Verschlüsselung der OTP-Daten. Hinweis: Das Attribut "x5t" muss mit dem hochgeladenen Zertifikat übereinstimmen. |
{
"userId":"<Unique Id>",
"userIdType":"USER_NAME/USER_GUID",
"userFlowControlledByExternalClient": true,
"x5t" :"<certificate thumbprint>"
}| Attribut | Unterstützte Werte/Beispielwerte | Mehrwertig | Nutzungsdetails |
|---|---|---|---|
otp |
Zuordnung
|
False |
Wenn das Attribut in der Antwort vorhanden ist, enthält es das verschlüsselte OTP mit den folgenden Details.
|
Antwortbeispiel
{
"status": "success",
"requestId": "<Request ID>",
"userGUID": "<User GUID>",
"factorId": "<SMS/EMAIL/PHONE_CALL factor GUID>",
"method": "SMS/EMAIL/PHONE_CALL",
"displayName": "+91XXXXXXXX984",
"requestState": "4p7ViEzP2bP1MIM",
"otp": {
"value": "<Encrypted OTP value>",
"alg": "<Encryption algorithm>",
"x5t": "<x5t of the certificate used to encrypt the OTP>"
}
}
Authentifizierungsfaktoranmeldung mit Faktorverifizierung - SMS
Dieser Anwendungsfall enthält ein schrittweises Beispiel für die Verwendung der Identitätsdomains "Faktor-Registrierungs-API", um sich bei der Faktorverifizierung für die Multifaktor-Authentifizierung (MFA) anzumelden.
Bei diesen Schritten wird davon ausgegangen, dass relevante Faktoren von MFA mit Einstellungen für die Multifaktor-Authentifizierung konfigurieren aktiviert sind.
Laden Sie die Collection der Anwendungsbeispiele für die Authentifizierung von Identitätsdomains und die globale Variablendatei aus dem Ordner idcs-factor-enrollment-api im Repository idm-samples GitHub herunter, und importieren Sie sie dann in Postman.
In den Beispielen in diesem Abschnitt wird
userGUID in den Anforderungen verwendet. Sie können in Ihren Anforderungen sowohl userGUID als auch userOcid anfordern.Schritt 1: SMS-Faktoranmeldung initiieren
Dieser Schritt initiiert die SMS-Registrierung. Der Client muss die folgenden Attribute enthalten:
method: Definiert die Anmeldung beim SMS-FaktorphoneNumber: Definiert die Telefonnummer, an die der SMS-Text gesendet wirdcountryCode: Definiert die Landeskennzahl der Telefonnummer, an die der SMS-Text gesendet wird
Anforderungsbeispiel
Das folgende Beispiel zeigt die POST-Anforderung an den Endpunkt {{HOST}}/mfa/v1/users/{{userGUID}}/factors im JSON-Format:
{
"method": "SMS",
"countryCode": "+44",
"mobileNumber": "1122334455",
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{
"status": "success",
"factorId": "88178d80636a428393a5674ba46dc867",
"factorStatus": "ENROLLMENT_INITIATED",
"methods": [ "SMS" ],
"displayName": "+1122334455",
"requestState": "QK1.....y+OFP//0"
}
displayName ist die Mobiltelefonnummer. Eine otpCode wird an das Mobilgerät des Benutzers gesendet, mit dem die Registrierung abgeschlossen wird.
Schritt 1a: OTP erneut senden
Wenn der Benutzer das OTP nicht erhält, wird in diesem Beispiel gezeigt, wie Sie das erneute Senden eines OTPs anfordern. Der Client muss die folgenden Attribute enthalten:
requestState: in der Schritt-1-Antwort empfangen
resendOtp: Boolescher Wert, der angibt, dass das OTP empfangen wird
Anforderungsbeispiel
Das folgende Beispiel zeigt die PATCH-Anforderung an den Endpunkt {{HOST}}/mfa/v1/users/{{userGUID}}/factors/{{factorID}} im JSON-Format:
{
"resendOtp":true,
"requestState": "QK1.....y+OFP//0"
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{
"status": "success",
"factorId": "88178d80636a428393a5674ba46dc867",
"factorStatus": "ENROLLMENT_INITIATED",
"methods": [ "SMS" ],
"displayName": "+445544455",
"requestState": "+HFVV...qgMUI"
}
Die Antwort enthält die folgenden Parameter:
requestState:, die vom Client im nächsten Schritt übergeben werden solldisplayName:ist die registrierte Mobiltelefonnummer.method:SMS-Faktormethode- Eindeutige ID
factorId:, die für den zu registrierenden Faktor generiert wird
- Die angegebene
userGUIDist gültig - Der Benutzer ist aktiv
- Benutzeraccount ist nicht gesperrt
- Der SMS-Faktor ist aktiviert
Schritt 2: SMS-Faktor aktivieren
In diesem Schritt wird die SMS-Registrierung für den Benutzer in einer PATCH-Anforderung an den Endpunkt /mfa/v1/users/{{userGUID}}/factors/{{factorID}} aktiviert.
Der Client muss die folgenden Attribute enthalten:
otpCode:den vom Benutzer auf seinem Gerät empfangenen Code-
requestState: in der Antwort von Schritt 1 empfangen
Anforderungsbeispiel
Das folgende Beispiel zeigt den Inhalt der PATCH-Anforderung im JSON-Format:
{
"otpCode":"170230",
"requestState": "{{requestState}}"
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{"status":"success"}
Erfolg bedeutet:
OTPist gültig- Die angegebene
userGUIDist gültig - Der Benutzer ist aktiv
- Benutzeraccount ist nicht gesperrt
- Der SMS-Faktor ist aktiviert, und der Faktor wurde erfolgreich registriert
Fehlerantwortbeispiele
userGUID ungültig ist. Sie erhalten einen HTTP-Antwortcode von 404, wenn userGUID ungültig ist.{
"status": "failed",
"ecId": "0d1QwglU0000Fy",
"cause": [
{
"code": "AUTH-3018",
"message": "User not found."
}
]
}Das folgende Beispiel zeigt die Fehlermeldung im JSON-Format, wenn der Benutzer gesperrt ist. Sie erhalten einen HTTP-Antwortcode von 401.
{
"status": "failed",
"ecId": "0ISDCif1Qy6wg0000A8",
"cause": [
{
"code": "AUTH-1010",
"message": "Your account is locked.Contact your system administrator."
}
]
}
Authentifizierungsfaktoranmeldung mit Faktorprüfung - E-Mail
Dieser Anwendungsfall enthält ein schrittweises Beispiel für die Verwendung der Identitätsdomains "Faktor-Registrierungs-API", um sich bei der Faktorverifizierung für die Multifaktor-Authentifizierung (MFA) anzumelden.
Bei diesen Schritten wird davon ausgegangen, dass relevante Faktoren von MFA mit Einstellungen für die Multifaktor-Authentifizierung konfigurieren aktiviert sind.
Laden Sie die Collection der Anwendungsbeispiele für die Authentifizierung von Identitätsdomains und die globale Variablendatei aus dem Ordner idcs-factor-enrollment-api im Repository idm-samples GitHub herunter, und importieren Sie sie dann in Postman.
In den Beispielen in diesem Abschnitt wird
userGUID in den Anforderungen verwendet. Sie können in Ihren Anforderungen sowohl userGUID als auch userOcid anfordern.Schritt 1: E-Mail-Faktoranmeldung initiieren
Dieser Schritt initiiert die E-Mail-Anmeldung. Der Client muss das folgende Attribut enthalten:
method: Definiert die Anmeldung bei E-Mail. Der Benutzer wird die E-Mail-ID nicht übergeben. Die primäre E-Mail-ID wird automatisch aus dem Profil des Benutzers abgerufen.
Anforderungsbeispiel
Das folgende Beispiel zeigt den Inhalt der POST-Anforderung an den Endpunkt {{HOST}}/mfa/v1/users/{{userGUID}}/factors im JSON-Format:
{
"method": "EMAIL",
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{
"status": "success",
"factorId": "30db2274140043918edb033d9fe29ff3",
"factorStatus": "ENROLLMENT_INITIATED",
"methods": [
"EMAIL"
],
"displayName": "user1@example.com",
"requestState": "Vxar...bWTTA"
}
Eine otpCode wird an die E-Mail-ID des Benutzers gesendet, mit der die Registrierung abgeschlossen wird.
Die Antwort enthält:
requestState:, die vom Client im nächsten Schritt übergeben werden solldisplayName:E-Mail-ID des angemeldeten Benutzers.method:EMAIL-Faktormethode
Erfolg bedeutet:
Die Faktoranmeldung wurde initiiert.
Schritt 1a: OTP erneut senden
Das folgende Beispiel zeigt die PATCH-Anforderung an den Endpunkt {{HOST}}/mfa/v1/users/{{userGUID}}/factors/{{factorID}} im JSON-Format.
Wenn der Benutzer das OTP nicht erhält, wird in diesem Beispiel gezeigt, wie Sie das erneute Senden eines OTPs anfordern. Der Client muss die folgenden Attribute enthalten:
requestState:in der Schritt-1-Antwort empfangenresendOtp:, um anzugeben, dass das OTP empfangen wird
Anforderungsbeispiel
Das folgende Beispiel zeigt den Inhalt der PATCH-Anforderung im JSON-Format:
{
"resendOtp":true,
"requestState": "QK1.....y+OFP//0"
}
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{
"status": "success",
"factorId": "30db2274140043918edb033d9fe29ff3",
"factorStatus": "ENROLLMENT_INITIATED",
"methods": ["EMAIL"],
"displayName": "username@example.com",
"requestState": "AmgsMN.....2sk4SI"
}
Die Antwort enthält:
requestState: Wird vom Client im nächsten Schritt übergebendisplayName: E-Mail-ID aus Benutzerprofil abgerufenmethod: Die Liste der Methoden, die bei der EMAIL-Methode registriert werdenfactorId: Eindeutige ID, die für den Faktor generiert wird, der registriert wird
Erfolg bedeutet:
- Die angegebene
userGUIDoderuserOcidist gültig - Der Benutzer ist aktiv
- Benutzeraccount ist nicht gesperrt
- Der EMAIL-Faktor ist aktiviert
Schritt 2: EMAIL-Faktor aktivieren
In diesem Schritt wird die EMAIL-Registrierung für den Benutzer in einer PATCH-Anforderung an den Endpunkt /mfa/v1/users/{{userGUID}}/factors/{{factorID}} aktiviert.
Der Client muss die folgenden Attribute enthalten:
otpCode:den Code, den der Benutzer in seiner E-Mail-ID erhalten hat-
requestState: in der Antwort von Schritt 1 empfangen
Anforderungsbeispiel
Das folgende Beispiel zeigt den Inhalt der PATCH-Anforderung im JSON-Format:
{
"otpCode":"710130",
"requestState": "{{requestState}}"
}
Antwortbeispiel
Das folgende Beispiel zeigt den Inhalt der Antwort im JSON-Format:
{"status":"success"}
Erfolg bedeutet:
OTPist gültig- Die angegebene
userGUIDoderuserOcidist gültig - Der Benutzer ist aktiv
- Benutzeraccount ist nicht gesperrt
- Der EMAIL-Faktor ist aktiviert, und der Faktor wurde erfolgreich registriert
Fehlerantwortbeispiele
userGUID ungültig ist. Sie erhalten einen HTTP-Antwortcode von 404, wenn userGUID oder userOcid ungültig ist.{
"status": "failed",
"ecId": "0d1QwglU0000Fy",
"cause": [
{
"code": "AUTH-3018",
"message": "User not found."
}
]
}Das folgende Beispiel zeigt die Fehlermeldung im JSON-Format, wenn EMAIL deaktiviert ist. Sie erhalten einen HTTP-Antwortcode von 401.
{
"status": "failed",
"ecId": "0000M00000A",
"cause": [
{
"code": "AUTH-1125",
"message": "The EMAIL factor has been disabled."
}
]
}