Mehrfaktorauthentifizierung (MFA)
Mit Cloud Directory für IBM Cloud® App ID können Sie während der Anmeldung bei Ihrer Anwendung mehrere Authentifizierungsfaktoren anfordern. Ein zweiter Authentifizierungsfaktor erhöht die Sicherheit Ihrer Anwendung, indem er nicht nur bestätigt, dass ein Benutzer seine Anmeldedaten kennt, sondern auch Zugriff auf seine registrierte E-Mail, Telefonnummer oder Authentifizierungsanwendung hat. Mit Erweiterungen des MFA-Ablaufs können Sie Pre- und Post-MFA-Erweiterungen konfigurieren, sodass zur Laufzeit flexibel entschieden werden kann, welche Benutzer den zweiten Faktor ausführen oder Analyseinformationen zum Anmeldeablauf bereitstellen müssen.
Die App ID-Mehrfaktorauthentifizierung (MFA) wird im Rahmen des OAuth 2.0-Autorisierungscodeablaufs für Cloud Directory-Benutzer durch das Anmeldewidget unterstützt. Wenn Sie eine Unternehmensanmeldung mit SAML 2.0 oder eine Social-Media-Anmeldung verwenden, können Sie die MFA über diesen Identitätsprovider aktivieren.
Im folgenden Diagramm ist die Funktionsweise des MFA-Ablaufs für E-Mail oder SMS dargestellt.
-
Wenn sich ein Benutzer erfolgreich bei Ihrer Anwendung anmeldet, hat er den ersten Authentifizierungsfaktor absolviert. Anschließend wird dem Benutzer je nach MFA-Konfiguration eine E-Mail oder eine SMS mit einem sechsstelligen Code gesendet.
Wenn die MFA aktiviert ist und keine Erweiterung konfiguriert ist, fordert das Anmeldewidget von App ID bei jedem Anmeldeversuch eines Benutzers eine zweite Form der Verifizierung an.
-
Es wird erwartet, dass der Benutzer auf seinem Telefon oder in seinen E-Mails den Eingang des Codes überprüft und diesen dann in der bereitgestellten Anzeige eingibt.
-
Wenn der eingegebene Code mit dem gesendeten Code übereinstimmt, wird der Benutzer zu Ihrer Anwendung zurückgeleitet und angemeldet. Wird der Code falsch eingeben, ist der zweite Authentifizierungsfaktor fehlgeschlagen, sodass der Benutzer nicht auf Ihre Ressourcen zugreifen kann.
Wenn die E-Mail-Verifizierung nicht konfiguriert ist, überprüft App ID den MFA-Kanal im Hintergrund. Wenn Sie beispielsweise den E-Mail-Kanal für MFA konfigurieren, aber keine E-Mail-Verifizierung, überprüft App ID die E-Mail bei der ersten erfolgreichen MFA-Anmeldung. Wenn Sie jedoch den SMS-Kanal konfigurieren, überprüft App ID die Telefonnummer des Benutzers bei der ersten erfolgreichen Anmeldung. Wenn Sie den SMS-Kanal verwenden und möchten, dass die E-Mail-Adresse überprüft wird, müssen Sie die E-Mail-Verifizierung aktivieren.
E-Mail-Kanal konfigurieren
Sie können App ID so konfigurieren, dass der MFA-Code per E-Mail an Ihre Benutzer gesendet wird.
Wenn Sie die Mehrfaktorauthentifizierung (MFA) zum ersten Mal aktivieren, dann werden die folgenden beiden Aktionen ausgeführt:
- Standardmäßig wird der E-Mail-Kanal ausgewählt. Sie können zum SMS-Kanal wechseln.
- App ID führt eine automatische Registrierung der primären E-Mail-Adresse durch, die Ihrem Cloud Directory-Benutzerprofil zugeordnet ist.
Wenn die E-Mail-Adresse eines Benutzer bei der Anmeldung noch nicht über die Verwaltungs-APIs oder anhand einer E-Mail-Verifizierung bestätigt wurde, dann wird diese Bestätigung bei der erfolgreichen Verifizierung eines MFA-Codes durchgeführt.
Bei der Erstaktivierung der MFA wird standardmäßig die Verwendung einer E-Mail-Adresse festgelegt. Diese Einstellung kann geändert werden, sodass stattdessen eine SMS verwendet wird. Die gleichzeitige Konfiguration beider Methoden ist jedoch nicht möglich.
Mit der GUI
Sie können den E-Mail-Kanal für die Mehrfaktorauthentifizierung (MFA) über die grafische Benutzerschnittstelle (GUI) konfigurieren.
-
Navigieren Sie zur Registerkarte Cloud Directory > Mehrfaktorauthentifizierung des App ID-Dashboards.
-
Legen Sie im Feld Mehrfaktorauthentifizierung aktivieren auf der Registerkarte für die Einstellungen für die MFA die Einstellung Aktiviert fest. Bestätigen Sie, dass Sie sich bewusst sind, dass die MFA als erweitertes Sicherheitsereignis berechnet wird. Standardmäßig wird als Authentifizierungsmethode die Option E-Mail ausgewählt.
-
Überprüfen Sie auf der Registerkarte E-Mail-Kanal die E-Mail-Vorlage. Sie können auswählen, dass die Vorlage mit dem bereitgestellten Wortlaut gesendet wird, oder eine eigene Nachricht verfassen. Vergewissern Sie sich, dass das korrekte HTML-Tagging verwendet wird. In der Konsole können Sie Parameter hinzufügen und Bilder einfügen. Um die Sprache der Nachricht zu ändern, können Sie die APIs verwenden, um die Sprache einzustellen. Allerdings ist zu beachten, dass Sie für den Inhalt und die Konvertierung der Nachricht verantwortlich sind. In der folgenden Tabelle finden Sie eine Liste der Tabellen, die Sie in dieser Nachricht verwenden können, sowie alle anderen Nachrichten, die Sie senden können. Wenn ein Benutzer die vom Parameter abgefragte Information nicht angibt, wird im entsprechenden Feld kein Wert angezeigt.
Parameter der MFA-Nachricht Parameter Beschreibung %{display.logo}
Zeigt das Bild an, das Sie für das Anmeldewidget konfiguriert haben. %{user.displayName}
Zeigt den Anzeigenamen an, den ein Benutzer für die Interaktion mit der App ausgewählt hat. %{user.email}
Zeigt die registrierte E-Mail-Adresse des Benutzers an. %{user.username}
Zeigt den angegebenen Benutzernamen des Benutzers an, wenn die Verwendung von Benutzername und Kennwort als Authentifizierungsmethode festgelegt ist. %{user.firstName}
Zeigt den angegebenen Vornamen des Benutzers an. %{user.formattedName}
Zeigt den vollständigen Namen des Benutzers an. %{user.lastName}
Zeigt den angegebenen Nachnamen des Benutzers an. %{mfa.code}
Zeigt einen einmaligen MFA-Verifizierungscode an. Wenn ein Benutzer die vom Parameter abgefragte Information nicht angibt, wird im entsprechenden Feld kein Wert angezeigt.
Mit den APIs
Stellen Sie sicher, dass die folgenden Anforderungen erfüllt werden:
- Die Tenant-ID Ihrer App ID-Instanz. Diese ID finden Sie im Abschnitt Serviceberechtigungsnachweise des Dashboards.
- Ihr IAM-Token (Identity and Access Management). Hilfe zum Abrufen eines IAM-Tokens finden Sie in der IAM-Dokumentation.
So aktivieren Sie MFA:
-
Aktivieren Sie die Mehrfaktorauthentifizierung, indem Sie eine PUT-Anforderung an den Endpunkt
/config/cloud_directory/mfa
mit Ihrer MFA-Konfiguration stellen, umisActive
auftrue
zu setzen.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '"isActive": true'
-
Aktivieren Sie Ihren MFA-Kanal, indem Sie eine PUT-Anfrage an den Endpunkt
/mfa/channels/<channel>
mit Ihrer MFA-Konfiguration stellen. WennisActive
auftrue
gesetzt ist, ist Ihr MFA-Kanal aktiviert.$ curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/mfa/channels/email \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '"isActive": true'
Wenn Ihre Instanz von App ID Cloud Directory für die Nutzung eines angepassten E-Mail-Absenders konfiguriert wurde, verwendet MFA diesen Absender, um den Einmalcode zuzustellen. Weitere Informationen finden Sie in der Cloud-Directory-Dokumentation.
SMS-Kanal konfigurieren
Sie können als zweite Form der Verifizierung eine SMS-Nachricht an Ihre Benutzer senden. Wenn Sie SMS aktivieren, versucht App ID automatisch, die erste gültige primäre Rufnummer zu registrieren, die im Profil eines Cloud Directory-Benutzers gefunden wird. Ist die Nummer ungültig oder kann im Profil des Benutzers keine Rufnummer gefunden werden, dann wird ein Registrierungswidget angezeigt, über das der Benutzer eine Nummer hinzufügen kann. Anschließend ist die Nummer Bestandteil des Benutzerprofils und wird nach der Validierung als Standardnummer festgelegt, die für die Mehrfaktorauthentifizierung (MFA) verwendet wird.
Wenn die MFA zum ersten Mal aktiviert wird, wird standardmäßig eine E-Mail verwendet. Diese Einstellung kann geändert werden, sodass stattdessen eine SMS verwendet wird. Die gleichzeitige Konfiguration beider Methoden ist jedoch nicht möglich.
Vorbereitende Schritte
App ID verwendet Vonage (ehemals Nexmo), um MFA-SMS-Einmalcodes zu versenden.
-
Rufen Sie die Vonage-API-Schlüssel und den entsprechenden geheimen Schlüssel ab. Der Vonage-API-Schlüssel und der entsprechende geheime Schlüssel sind auf der Seite mit den Einstellungen Ihres Kontos im Vonage-Dashboard zu finden. In der Vonage-Dokumentation finden Sie weitere Informationen, wie Sie Ihre Zugangsdaten erhalten.
-
Registrieren Sie Ihre Absender-ID oder die
from
bei Vonage. Diesefrom
wird auf dem Telefon Ihres Benutzers als Absender der SMS angezeigt. In einigen Ländern unterstützt Vonage alphanumerische Absender-IDs. App ID verwendet den Wert, den Sie als Vonage-Absender-ID eingeben. Falls sie von Vonage unterstützt werden, können Sie die IDs also mit App ID verwenden.
Mit der GUI
Informationen zum Konfigurieren der Mehrfaktorauthentifizierung über die GUI finden Sie unter Cloud Directory.
-
Navigieren Sie zur Registerkarte Cloud Directory > Mehrfaktorauthentifizierung des App ID-Dashboards.
-
Legen Sie im Feld Mehrfaktorauthentifizierung aktivieren auf der Registerkarte für die Einstellungen für die MFA die Einstellung Aktiviert fest. Bestätigen Sie, dass Sie sich bewusst sind, dass die MFA als erweitertes Sicherheitsereignis berechnet wird.
-
Wählen Sie SMS als Authentifizierungsmethode aus.
-
Konfigurieren Sie auf der Registerkarte SMS-Kanal die Vonage-Kontoinformationen.
-
Wenn Sie noch kein Konto bei Vonage haben. Erstellen Sie eines.
-
Klicken Sie im Vonage-Dashboard auf SMS.
-
Kopieren Sie im Abschnitt Selbst codieren Ihren API-Schlüssel und fügen Sie ihn im Feld Schlüssel des App ID-Dashboards ein.
-
Kopieren Sie den geheimen API-Schlüssel im Vonage-Dashboard und fügen Sie ihn im Feld Geheimer Schlüssel des App ID-Dashboards ein.
-
Geben Sie die ID ein, von der Sie Nachrichten senden möchten. Ein gültiges Nummernformat entspricht dem internationalen Nummernformat E.164. Eine US-Nummer hat zum Beispiel die Form
+19998887777
. Sie müssen sowohl den Landescode beginnend mit einem Plussymbol+
als auch die nationale Teilnehmernummer angeben. In einigen Ländern unterstützt Vonage alphanumerische Absender-IDs. App ID verwendet den Wert, den Sie als Vonage-Absender-ID eingeben. Falls sie von Vonage unterstützt werden, können Sie die IDs also mit App ID verwenden.
-
Mit den APIs
Bevor Sie mit der API beginnen, müssen die folgenden Voraussetzungen erfüllt sein:
- Die Tenant-ID Ihrer App ID-Instanz. Diese ID finden Sie im Abschnitt Serviceberechtigungsnachweise des Dashboards.
- Ihr IAM-Token (Identity and Access Management). Hilfe zum Abrufen eines IAM-Tokens finden Sie in der IAM-Dokumentation.
-
Aktivieren Sie die Mehrfaktorauthentifizierung, indem Sie eine PUT-Anforderung an den Endpunkt
/config/cloud_directory/mfa
mit Ihrer MFA-Konfiguration stellen, umisActive
auftrue
zu setzen.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{"isActive": true}'
-
Aktivieren Sie Ihren MFA-Kanal, indem Sie eine PUT-Anfrage an den Endpunkt
/mfa/channels/<channel>
mit Ihrer MFA-Konfiguration stellen. WennisActive
auftrue
gesetzt ist, ist Ihr MFA-Kanal aktiviert. Inconfig
werden der Nexmo-API-Schlüssel und der entsprechende geheime Schlüssel sowie diefrom
eingefügt.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/mfa/channels/nexmo' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{ "isActive": true, "config": { "key": "<nexmoKey>", "secret": "<nexmoSecret>", "from": <senderPhoneNumber> } }'
-
Nachdem der Kanal erfolgreich konfiguriert wurde, überprüfen Sie, ob Ihre Nexmo-Konfiguration und -Verbindung korrekt eingerichtet ist, indem Sie den Test-Button auf der Konsole oder die Management-API verwenden.
curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/sms_dispatcher/test \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{"phone_number": "+1 999 999 9999"}'
MFA erweitern
Mit Erweiterungen können Sie die Sicherheit der Mehrfaktorauthentifizierung auf die nächste Stufe heben. Durch flexible Entscheidungen, wer eine zweite Form der Authentifizierung absolvieren muss, wird die Erfahrung für die Benutzer Ihrer App persönlicher. Sie können auch Erweiterungen verwenden, um das MFA-Verhalten zu prüfen, z. B. die Anzahl der Fehlschläge beim zweiten Authentifizierungsschritt.
Vorbereitende Schritte
Bevor Sie Ihre Erweiterung registrieren, müssen Sie sicherstellen, dass die folgenden vorausgesetzten Komponenten vorhanden sind:
- Die Tenant-ID Ihrer App ID-Instanz. Diese ID finden Sie im Abschnitt Anwendungen des Dashboards.
- Ihr IAM-Token (Identity and Access Management). Hilfe zum Abrufen eines IAM-Tokens finden Sie in der IAM-Dokumentation.
Weitere Informationen zu den Einschränkungen und Begrenzungen bei der Arbeit mit Erweiterungen finden Sie unter see Begrenzungen für App ID.
Pre-MFA konfigurieren
Mit einer Pre-MFA-Erweiterung können Sie die Kriterien definieren, die es Benutzern ermöglichen, eine zweite Form der Authentifizierung zu vermeiden, wenn sie mit Ihrer Anwendung interagieren.
- Wenn sich ein Benutzer erfolgreich bei Ihrer Anwendung anmeldet, sendet App ID eine POST-Anforderung an Ihre Erweiterung.
- Ihre Erweiterung bestimmt anhand der Informationen aus der POST-Anforderung, ob dieser konkrete Benutzer den zweiten Authentifizierungsfaktor ausgehend von Ihren definierten Kriterien überspringen kann.
- Ihre Konfiguration gibt eine JSON-Antwort an App ID zurück, die in etwa wie folgt aussieht:
{'skipMfa': true}
. - App ID fährt je nach Antwort von Ihrer Konfiguration mit dem MFA-Ablauf fort oder gewährt den Zugriff auf Ihre Anwendung.
Wenn ein Fehler während der Anforderung an Ihren Erweiterungspunkt auftritt, macht App ID es standardmäßig erforderlich, dass der Benutzer die MFA abschließt.
So konfigurieren Sie eine Pre-MFA-Erweiterung:
-
Definieren Sie die Kriterien, die ein Benutzer erfüllen muss, um den zweiten Faktor der Authentifizierung überspringen zu können. Falls Sie unsicher sind, lassen Sie sich von den folgenden Beispielen inspirieren.
Beispielkriterien für das Überspringen der MFA Beispielanwendungsfall Beispielvalidierung Sie möchten, dass Benutzer nur einmal am Tag einen zweiten Authentifizierungsfaktor bereitstellen. Konfigurieren Sie Ihre Erweiterung so, dass last_successful_first_factor
innerhalb desselben Tages validiert wird.Sie haben eine Zulassungsliste mit genehmigten Benutzern, die nicht jedes Mal den zweiten Faktor angeben müssen. Konfigurieren Sie Ihre Erweiterung, um zu überprüfen, ob username
oderuser_id
in der Zulassungsliste enthalten ist.Sie möchten, dass Benutzer, die von einem Desktop aus auf Ihre App zugreifen, nicht jedes Mal den zweiten Faktor bereitstellen müssen. Konfigurieren Sie Ihre Erweiterung so, dass validiert wird, dass device_type
aufweb
gesetzt ist. -
Wenn Sie wissen, wie Ihre Kriterien aussehen sollen, konfigurieren Sie eine Erweiterung, die auf den Empfang einer POST-Anforderung wartet. Der Endpunkt muss in der Lage sein, die von App ID kommenden Nutzdaten zu lesen. Der Hauptteil, der von App ID gesendet wird, bevor der MFA-Ablauf gestartet wird, hat das Format
{"jws": "jws-format-string"}
. Ihre Erweiterung könnte die Nutzdaten auch entschlüsseln und validieren (der Inhalt ist ein JSON-Objekt) und eine JSON-Antwort mit dem folgenden Schema zurückgeben:{"skipMfa": Boolean }
. Beispiel:{'skipMfa': true}
.Die Informationen, die App ID an Ihre Nebenstelle weiterleitet. Informationen Beschreibung correlation_id
Eine Zufallszahl, die für jede MFA-Sitzung generiert wird. Wenn Sie sowohl eine Pre-MFA-Erweiterung auch eine Post-MFA-Erweiterung haben, ist die Zahl für eine Sitzung für beide gleich. Beispiel: 3bb9236c-792f-4cca-8ae1-ada754cc4555
.extension
Der Name Ihrer Erweiterung. In diesem Anwendungsfall wird die Erweiterung premfa
genannt.device_type
Der Typ des Geräts, mit dem Ihr Benutzer auf Ihre Anwendung zugreift. Zu den Optionen gehören web
undmobile
.source_ip
Die IP-Adresse des Geräts, das die Anforderung an Ihre App stellt. Beispiel: 127.0.0.1
.headers
Die Informationen, die vom Browser zurückgegeben werden, wenn ein Benutzer versucht, sich an der App anzumelden. Die Kopfzeile ähnelt der folgenden: {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0"}
.tenant_id
Die Tenant-ID Ihrer Anwendung. client_id
Die Client-ID Ihrer Anwendung. user_id
Die ID des Benutzers, der die Authentifizierungsanforderung stellt. Beispiel: 11112222-3333-4444-2222-555522226666
.username
Der Benutzername des Benutzers, der die Authentifizierungsanforderung stellt. Beispiel: testuser@email.com
.application_type
Der Typ Ihrer Anwendung. Beispiel: Wenn es sich bei Ihrer Anwendung um eine einzelne JavaScript-Web-App handelt, wird browserapp
zurückgegeben. Zu den Optionen gehören:browserapp
,serverapp
undmobileapp
.first_name
Der Vorname des Benutzers. last_name
Der Nachname des Benutzers. last_successful_first_factor
Das Datum des letzten Zeitpunkts, zu dem der Benutzer die Berechtigungsnachweise korrekt eingegeben hat. Beispiel: 1660032586651
.last_successful_mfa
Das Datum des letzten Zeitpunkts, zu dem der Benutzer den vollständigen MFA-Ablauf ausgeführt hat. Beispiel: 1660032586651
.Ein Beispiel für eine Erweiterung finden Sie in der Musterseite.
-
Registrieren Sie Ihre Erweiterung bei Ihrer Instanz von App ID, indem Sie eine PUT-Anforderung an
config/cloud_directory/mfa/extensions/premfa
absetzen. Die Konfiguration enthält die URL Ihrer Erweiterung und alle Berechtigungsinformationen, die für den Zugriff auf den Endpunkt erforderlich sind. Zu Entwicklungszwecken wird fürisActive
der Wertfalse
festgelegt. Stellen Sie sicher, dass Sie Ihre Konfiguration testen, bevor Sie sie aktivieren.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa/extensions/premfa' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{ "isActive": false, "config": { "url": "<extensionsURL>", "headers": { "Authorization": "<customExtensionAuthorizationHeader>" } } }'
Es wird dringend empfohlen, stets HTTPS anstelle von HTTP für die Angabe
extensions_URL
zu verwenden, um sicherzustellen, dass die Verbindung verschlüsselt ist. -
Nachdem die Erweiterung erfolgreich konfiguriert wurde, überprüfen Sie mithilfe der Test-API, ob Ihr Endpunkt ordnungsgemäß funktioniert. App ID stellt eine POST-Anforderung an Ihre konfigurierte Erweiterung mit den Beispielwerten.
curl -X POST https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa/extensions/premfa/test \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>'
-
Aktivieren Sie Ihre Erweiterung, indem Sie eine PUT-Anforderung absetzen, die
isActive
auftrue
setzt.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa/extensions/premfa \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{"isActive": true}'
Wenn Sie Ihre Erweiterung inaktivieren möchten, setzen Sie
isActive
auffalse
.
Post-MFA konfigurieren
Wenn Sie eine Erweiterung konfigurieren und bei App IDregistrieren, ruft der Service Ihre Erweiterung nach jedem Authentifizierungsversuch auf, bei dem ein zweiter Identifikationsfaktor vorhanden ist. Sie können diese Informationen verwenden, um bessere Entscheidungen für Ihre Benutzer zu treffen. Sie können beispielsweise Objektgruppeninformationen der Post-MFA für Ihre Heuristik und Ihre Regeln verwenden und diese dann in einer Pre-MFA-Erweiterung umsetzen.
-
Wenn sich ein Benutzer erfolgreich bei Ihrer Anwendung anmeldet, wird er aufgefordert, den zweiten Authentifizierungsfaktor einzugeben.
-
Wenn der zweite Authentifizierungsfaktor erfolgreich abgeschlossen ist, werden parallel zwei Aktionen ausgeführt:
-
App ID sendet Informationen über die Anmeldung an die konfigurierte Erweiterung.
-
Der Benutzer wird zu Ihrer Anwendung weitergeleitet.
-
So konfigurieren Sie eine Post-MFA-Erweiterung:
-
Konfigurieren Sie einen Erweiterungspunkt, der auf den Empfang von POST-Anforderungen wartet. Der Endpunkt muss in der Lage sein, die von App ID gesendeten Nutzdaten zu lesen. Optional kann er auch entschlüsseln und validieren, dass die von App ID zurückgegebenen JSON-Nutzdaten nicht in irgendeiner Weise von Dritten geändert wurden. Eine Zeichenfolge im Format
{"jws": "jws-format-string"}
wird mit folgenden Informationen zurückgegeben:Die Informationen, die App ID an Ihre Nebenstelle weiterleitet. Informationen Beschreibung correlation_id
Eine Zufallszahl, die für jede MFA-Sitzung generiert wird. Wenn Sie sowohl eine Pre-MFA-Erweiterung auch eine Post-MFA-Erweiterung haben, ist die Zahl für beide gleich. Beispiel: 3bb9236c-792f-4cca-8ae1-ada754cc4555
.extension
Der Name Ihrer Erweiterung. In diesem Anwendungsfall wird die Erweiterung postmfa
genannt.status
Der MFA-Status. Zu den Optionen gehören success
undfailed
.reason
Der Grund für einen MFA-Fehler. Beispiel: user locked out - exceeded maximum number of verification attempts
.device_type
Der Typ des Geräts, mit dem Ihr Benutzer auf Ihre Anwendung zugreift. Zu den Optionen gehören: web
undmobile
.source_ip
Die IP-Adresse des Geräts, das die Anforderung an Ihre App stellt. Beispiel: 127.0.0.1
.headers
Die Informationen, die vom Browser zurückgegeben werden, wenn ein Benutzer versucht, sich an der App anzumelden. Der Header sieht ähnlich wie {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0"}
aus.tenant_id
Die Tenant-ID Ihrer Anwendung. client_id
Die Client-ID Ihrer Anwendung. user_id
Die ID des Benutzers, der die Authentifizierungsanforderung stellt. username
Der Benutzername des Benutzers, der die Authentifizierungsanforderung stellt. Beispiel: testuser@email.com
.application_type
Der Typ Ihrer Anwendung. Beispiel: Wenn es sich bei Ihrer Anwendung um eine einzelne JavaScript-Web-App handelt, wird browserapp
zurückgegeben. Zu den Optionen gehören:browserapp
,serverapp
undmobileapp
.first_name
Der Vorname des Benutzers. last_name
Der Nachname des Benutzers. -
Registrieren Sie Ihre Erweiterung bei Ihrer Instanz von App ID, indem Sie eine PUT-Anforderung an
config/cloud_directory/mfa/extensions/postmfa
absetzen. Die Konfiguration enthält die URL Ihrer Erweiterung und alle Berechtigungsinformationen, die für den Zugriff auf den Endpunkt erforderlich sind. Zu Entwicklungszwecken wird fürisActive
der Wertfalse
festgelegt. Stellen Sie sicher, dass Sie Ihre Konfiguration testen, bevor Sie sie aktivieren.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa/extensions/postmfa' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{ "isActive": false, "config": { "url": "<extensionsURL>", "headers": { "Authorization": "<customExtensionAuthorizationHeader>" } } }'
Es wird dringend empfohlen, stets HTTPS anstelle von HTTP für die Angabe 'extensions_URL' zu verwenden, um sicherzustellen, dass die Verbindung verschlüsselt ist.
-
Überprüfen Sie nach erfolgreicher Konfiguration der Erweiterung mithilfe der Test-API, ob Ihr Endpunkt ordnungsgemäß funktioniert. App ID stellt eine POST-Anforderung an Ihre konfigurierte Erweiterung mit den Beispielwerten.
curl -X POST https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa/extensions/postmfa/test \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>'
-
Aktivieren Sie Ihre Erweiterung, indem Sie
isActive
auftrue
setzen.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/mfa/extensions/postmfa \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{"isActive": true}'
Wenn Sie Ihre Erweiterung inaktivieren möchten, setzen Sie
isActive
auffalse
.