Übersicht über die kennwortunabhängige QR-Login-Authentifizierung

Eine Anwendung kann eine qrlogin-Verifizierungstransaktion einleiten; anschließend wird auf die Ausführung dieser Verifizierungsanforderung durch den Benutzer mithilfe von IBM Verify gewartet und dann der Laufzeitzugriff fortgesetzt.

Hinweis: Für diesen Authentifizierungsfaktor ist keine spezielle Registrierung erforderlich, der Benutzer muss jedoch mindestens eine Instanz der mobilen Authentifizierungs-App „ IBM Verify “ registrieren.

Workflow

Der Workflow QRLogin besteht aus drei Hauptschritten.
Erstellung eines neuen QR-Code-Login-Verifizierungssatzes
  • Mit diesem Schritt wird ein neuer qrlogin-Verifizierungssatz erstellt.
  • Die Anforderung wird über einen nicht authentifizierten Kontext generiert.
  • Die Antwort umfasst den zu scannenden QR-Code und die Details für die Authentifikator-App zur Ausführung der Verifizierung.
Abfrage nach der Beendigung einer vorhandenen QR-Login-Verifizierung
  • Mit diesem Schritt wird bestimmt, ob der Scanner die Verifizierung durch das Scannen des QR-Codes abgeschlossen hat oder ob die Verifizierungsanforderung in einen anderen Beendigungsstatus, wie beispielsweise 'Erfolg', 'Zeitlimitüberschreitung' oder 'Fehlgeschlagen', versetzt wurde.
  • Die Anforderung wird über einen nicht authentifizierten Kontext generiert.
  • Die Antwort umfasst den Status der Verifizierungsanforderung, der bestimmt, ob die Verifizierungstransaktion abgeschlossen ist.
Versuch, eine vorhandene QR-Login-Verifizierung abzuschließen
  • Mit diesem Schritt wird der Status einer Verifizierungstransaktion im Status PENDING (Anstehend) in den Status SUCCESS (Erfolg) geändert.
  • Die Anforderung muss über einen authentifizierten Kontext generiert werden. Für die Verifizierung einer qrlogin-Verifizierung sind API-Sicherheitsnutzungsrechte erforderlich.
  • Die Antwort enthält den HTTP-Statuscode 204, wenn die Anforderung erfolgreich verarbeitet wurde.

Voraussetzungen

Vorgehensweise

  1. Rufen Sie die QRLogin-Eigenschaften ab. Siehe „QRLogin-Eigenschaften abrufen “.
  2. Aktualisieren Sie die QRLogin-Eigenschaften. Siehe „QRLogin-Eigenschaften aktualisieren “.

Informationen zu dieser Task

Variablen
In diesem Beispiel werden die folgenden Variablen verwendet. Ersetzen Sie diese Variablen in den cURL-Befehlen durch die tatsächlichen Werte, die Sie von Ihren Anforderungen erhalten.
Tabelle 1. Variablen- und Beispielwerte
Variablen Beschreibung Beispielwerte
{{access_token}} Als Ergebnis zurückgegeben, wenn Sie die {{Client-ID}} und den {{geheimen_Clientschlüssel}}, die bzw. der Ihrem API-Client zugeordnet ist, austauschen. 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe
{{tenant}} Der vollqualifizierte Domainname, der Ihrem Verify Abonnement zugewiesen ist. Es besteht aus dem Hostnamenverify.ibm.com... companyAppTest.verify.ibm.com
Definitionen
Tabelle 2.
Akronym Beschreibung
LSI LSI ist ein Einmalcode, der vom Authentifikator für mobile Geräte in einem nachfolgenden Verifizierungsversuch verwendet wird, und ist die Abkürzung für "Login Session Index" (Anmeldesitzungsindex).Dabei handelt sich um eine nach dem Zufallsprinzip generierte alphanumerische Zeichenfolge. Diese Zeichenfolge wird unter Verwendung des Konfigurationsdatenmodells für den Anmeldesitzungsindex generiert. Konfigurationsoptionen sind die Länge der Anmeldesitzungsindex-ID und der Zeichensatz, der zum Generieren der alphanumerischen ID verwendet wird.
DSI DSI wird zum Abfragen verwendet und ist die Abkürzung für "Device Session Index" (Gerätesitzungsindex).Diese Zeichenfolge wird unter Verwendung des Konfigurationsdatenmodells für den Gerätesitzungsindex generiert. Konfigurationsoptionen sind die Länge der Gerätesitzungsindex-ID und der Zeichensatz, der zum Generieren der alphanumerischen ID verwendet wird.

QRLogin-Eigenschaften abrufen

Um die QRlogin Eigenschaften abzurufen, verwenden Sie den folgenden Befehl „ cURL “.

cURL-Befehl
curl -X GET \
  https://{{tenant}}/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{access_token}}'
Beispiel
curl -X GET \
  https://companyAppTest.verify.ibm.com/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe'
Beispielausgabeantwort
{
    "lsi": {
        "charset": "134BCDAE",
        "length": 6
    },
    "dsi": {
        "charset": "12389EFGHIJKLMN",
        "length": 40
    },
    "expiry": 60,
    "enabled": false
}

QRLogin-Eigenschaften aktualisieren

Erstellen Sie eine Eigenschaftsdatei, die die Eigenschaften enthält, die Sie über „Get the QRLogin properties“ abgerufen haben, und benennen Sie sie config-payload.jsonentsprechend. Bearbeiten Sie die Werte gemäß Ihren Anforderungen. Beispiel:
{
	"lsi": {
	    "charset": "ABCDEFG123456789",
	    "length": 6
	},
	"dsi": {
	    "charset": "ABCDEFGHIJKLMNOPQRSTqrstuvwxyz0123456789",
	    "length": 40
	},
    "expiry": 60,
    "enabled": true
}

Verwenden Sie den folgenden cURL-Befehl, um die QRLogin-Eigenschaften zu aktualisieren.

cURL-Befehl
curl -X PUT \
  https://{{tenant}}/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{access_token}}' \
  -H 'Content-Type: application/json' \
  -d @config-payload.json 
Beispiel
curl -X PUT \
  https://companyAppTest.verify.ibm.com/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe' \
  -H 'Content-Type: application/json' \
  -d @config-payload.json 
Beispielausgabeantwort
Http Status Code: 204