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
userId
USER_GUID wie "7b3d902ab05b4214" enthalten - USER_NAME: Beispiel: Hier muss
userId
USER_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=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.
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
userId
USER_GUID wie "7b3d902ab05b4214" enthalten - USER_NAME: Beispiel: Hier muss
userId
USER_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
userId
USER_GUID wie"7b3d902ab05b4214"
enthalten. - USER_NAME: Beispiel: Hier muss
userId
USER_NAME wieJoe John
enthalten.
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
userGUID
ist 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:
OTP
ist gültig- Die angegebene
userGUID
ist 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
userGUID
oderuserOcid
ist 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:
OTP
ist gültig- Die angegebene
userGUID
oderuserOcid
ist 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."
}
]
}