QRLogin im API-Client verwenden

Um die API qrlogin für die kennwortunabhängige Anmeldung als die Authentifizierungsmethode für Ihre Anwendung (API-Client) verwenden zu können, müssen die Voraussetzungen erfüllt sein und Client for URLs (cURL) zum Abrufen oder Senden der API-Anforderungen verwendet werden.

Vorgehensweise

Um das QRCode-Login in Ihrem API-Client zu verwenden, führen Sie die folgenden Schritte aus.
  1. Erfüllen Sie die Voraussetzungen.
  2. Leiten Sie ein neues QR-Login ein. Siehe „Neues QRLogin starten “.
  3. Führen Sie eine Abfrage nach der Beendigung einer vorhandenen QR-Login-Verifizierung aus. Siehe Umfrage zur Durchführung einer bestehenden QRLogin-Überprüfung.
  4. Verifizieren Sie eine vorhandene QR-Login-Verifizierung. Siehe „Eine bestehende QRLogin-Verifizierung überprüfen “.
  5. Rufen Sie eine erfolgreich verifizierte QR-Login-Anforderung ab. Siehe : Erfolgreich verifizierte QR-Anmeldeanfrage abgerufen.
  6. Löschen Sie eine bestimmte Verifizierung. Siehe „QR-Login-Verifizierung löschen “.

Neues QRLogin einleiten

Um einen neuen QR-Code-Login-Verifizierungssatz zu erstellen, verwenden Sie den folgenden cURL-Befehl, um eine neue QR-Login-Verifizierungsanforderung einzuleiten.
Hinweis: Ersetzen Sie das {{profile.id}} durch eine gültige, bei IBM Verify registrierte Profil-ID. Siehe „Verwalten von Registrierungsprofilen “.
cURL-Befehl
'https://{{tenant}}/v2.0/factors/qr/authenticate?profileId={{profile.id}}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Beispiel
curl -X GET \
  'https://companyAppTest.verify.ibm.com/v2.0/factors/qr/authenticate?profileId=9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Beispielausgabeantwort
{
    "lsi": "zj4lyRfYFlnJcxZYPxKJXR0OB",
    "created": "2019-04-01T00:35:18.951Z",
    "type": "qr",
    "serviceName": "IBM Verify",
    "qrCode": " iVBORw0KEUgAAASwAAAEsCAIAAAD2HxkiA",
    "profileId": "9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0",
    "location": "https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "id": "77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "expiry": "2019-04-01T00:36:18.951Z",
    "state": "PENDING",
    "dsi": "NxyVx0412btOrdx1xZJqTPfVPoCRHq3wG1s5udzt",
    "updated": "2019-04-01T00:35:18.951Z",
    "tenant": " companyAppTest.verify.ibm.com "
}
Hinweis: Erstellen Sie das QR-Code-Bild, indem Sie den Wert von b64QRCode in einen QR-Code-Textkonverter unter Base64-encoded kopieren und einfügen.

Abfrage nach der Beendigung einer vorhandenen QR-Login-Verifizierung durchführen

Verwenden Sie den folgenden cURL-Befehl, um die qrlogin-Anforderung für die Abfrage nach der Beendigung einer vorhandenen QR-Login-Verifizierung aus einem nicht authentifizierten Kontext abzurufen.

cURL-Befehl
curl -X GET \
  'https://{{tenant}}/v2.0/factors/qr /{{qrlogin.ci.id}}?dsi={{qrlogin.dsi}}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Hinweis: Ersetzen Sie {{qrlogin.ci.id}} und {{qrlogin.dsi}} durch die Werte der Cloud-ID und des Gerätesitzungsindex, die bei der Initiierung einer neuen qrlogin Anfrage zurückgegeben werden.
Beispiel
curl -X GET \
  'https://companyAppTest.verify.ibm.com/v2.0/factors/qr/authenticate/77348a7f-03b2-494f-a5d4-9a1603ae1592?dsi=IJL1IM9GFJLL3NK39MM2E3HN39IGH8LENENGIG2G' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Beispielausgabeantwort
{
    "created": "2019-04-01T00:42:44.456Z",
    "profileId": "9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0",
    "location": "https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "id": "77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "expiry": "2019-04-01T00:43:44.456Z",
    "state": "PENDING",
    "type": "qr",
    "serviceName": "IBM Verify",
    "updated": "2019-04-01T00:42:44.456Z",
    "tenant": "companyAppTest.verify.ibm.com"
}

Vorhandene QRLogin-Verifizierung verifizieren

Das API-Sicherheitsnutzungsrecht verifyAuthenticator ist erforderlich, um eine vorhandene QRLogin-Verifizierung zu verifizieren.

Um eine vorhandene QRLogin-Verifizierung zu verifizieren, erstellen Sie eine Datei verify-qrlogin-payload.json, die Folgendes enthält:
{
	"lsi": "{{qrlogin.lsi}}"
}
Hinweis: Ersetzen Sie das {{qrlogin.lsi}} durch die Ziffern des Login-Session-Index (LSI), den Sie nach dem Auslösen der neuen qrlogin Anfrage erhalten haben. Die Länge des LSI ist variabel und basiert auf der Konfiguration. Beispiel:
{
  "lsi": “B1CAE3”
}
cURL-Befehl
curl -X POST \
  https://{{tenant}}/v2.0/factors/qr/{{qrlogin.ci.id}} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{authenticator_access_token}}' \
  -H 'Content-Type: application/json' \
  -d @verify-qrlogin-payload.json
Hinweis:
  • Es authenticator_access_token muss sich um die aus der IBM Verify Registrierung handeln.
  • Ersetzen Sie das {{qrlogin.ci.id}} durch den Wert der Cloud-ID, der bei der Initiierung einer neuen qrlogin Anfrage zurückgegeben wird.
Beispiel
curl -X POST \
  https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe' \
  -H 'Content-Type: application/json' \
  -d @verify-qrlogin-payload.json
Beispielausgabeantwort
Status Code: 204

Erfolgreich verifizierte QR-Login-Anforderung abrufen

Verwenden Sie den folgenden cURL-Befehl, um die qrlogin-Anforderung für die Abfrage nach der Beendigung einer vorhandenen QR-Login-Verifizierung aus einem nicht authentifizierten Kontext abzurufen.

cURL-Befehl
curl -X GET \
  'https://{{tenant}}/v2.0/factors/qr /{{qrlogin.ci.id}}?dsi={{qrlogin.dsi}}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Hinweis: Ersetzen Sie das {{qrlogin.ci.id}} durch den Wert der Cloud-ID, der bei der Initiierung einer neuen qrlogin Anfrage zurückgegeben wird.
Beispiel
curl -X GET \
  'https://companyAppTest.verify.ibm.com/v2.0/factors/qr/authenticate/77348a7f-03b2-494f-a5d4-9a1603ae1592?dsi=IJL1IM9GFJLL3NK39MM2E3HN39IGH8LENENGIG2G' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Beispielausgabeantwort
{
    "updatedBy": "50FNK72W4C",
    "created": "2019-04-01T00:45:13.441Z",
    "profileId": "9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0",
    "location": "https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "id": "9df8af9c-b5eb-4b47-b518-725ac43ccccc",
    "expiry": "2019-04-01T00:46:13.441Z",
    "state": "SUCCESS",
    "type": "qr",
    "serviceName": "IBM Verify",
    "userId": "50FNK72W4C",
    "updated": "2019-04-01T00:45:19.256Z",
    "tenant": "companyAppTest.verify.ibm.com"
}

QR-Login-Verifizierung löschen

Das API-Sicherheitsnutzungsrecht authnAnyUser ist erforderlich, um eine vorhandene QRLogin-Verifizierung zu löschen.

Verwenden Sie den folgenden cURL-Befehl, um einen qrlogin-Verifizierungssatz zu löschen.

cURL-Befehl
curl -X DELETE \
  https://{{tenant}}/v2.0/factors/qr/{{qrlogin.ci.id}} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{access_token}}' \
  -H 'Content-Type: application/json'
Hinweis: Ersetzen Sie das {{qrlogin.ci.id}} durch den Wert der Cloud-ID, der bei der Initiierung einer neuen qrlogin Anfrage zurückgegeben wird.
Beispiel
curl -X DELETE \
  https://companyAppTest.verify.ibm.com/v2.0/factors/qr/9df8af9c-b5eb-4b47-b518-725ac43ccccc \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe ' \
  -H 'Content-Type: application/json'
Beispielausgabeantwort
Status Code: 204