API-Vertrag für initiate+validate- oder validate only-Muster validieren

Die Ressource validate wird von internen Verify-Komponenten während einer Laufzeit-MFA-Abfrage aufgerufen, wenn der verwendete Faktor die Integrationsmuster "initiate+validate" oder "validate only" unterstützt.

Beispiel: smsotp oder totp. Verify erwartet, dass die Antwort eine status enthält, die den Erfolg oder das Fehlschlagen der Validierungsanforderung angibt. Das folgende Beispiel zeigt eine Anfrage, die von Verify an die Ressource initiate des Echtzeit-Webhooks gesendet wird. Je nach Webhook-Konfiguration können dieselben Nutzdaten direkt an den Ziel-MFA-Provider gesendet oder in eine API-Clientanforderung umgewandelt werden, die für den Zielprovider akzeptabel ist.
POST '/validate' \
'Content-Type: application/json' \
'Accept: application/json' \

{
  "capability":  "<<factor capability name, e.g. totp>>",
  "id": "<<factor or device identifier from external provider>>",
  "transactionId": "<<provider transaction identifier>>"
  "attributes":
    {
      "passvalue": "806795",
      "username": "<<external MFA username>>"
    }
}
Anmerkung: Der Pfad /validate HTTP in diesem Beispiel variiert je nach Webhook-Konfiguration.

Anforderungsdetails validieren

Element Beschreibung
HTTP-Anforderung POST
HTTP-Header - Content-Type Der Inhaltstyp der Anforderungsnutzdaten ist immer application/json.
HTTP-Header - Accept Der von den Antwortnutzdaten erwartete Inhaltstyp ist immer application/json.
Nutzdaten Ein JSON-Objekt, das das zu validierende Token oder den zu validierenden Wert darstellt. Die Nutzdaten geben auch den Benutzer und die zugehörige MFA-Anmeldung oder -Registrierung an.
id

Obligatorisch. Die eindeutige Kennung der angemeldeten oder registrierten MFA-Faktorfunktion des Benutzers.

capability

Obligatorisch. Gibt den Funktionalitätstyp des MFA-Faktors an. Der Wert ist eine gültige Zeichenfolge. Sie muss einer der Funktionen entsprechen, die für den MFA-Provider konfiguriert sind, der dem Webhook zugeordnet ist.

transactionId

Optional. Die Statuskennung der Authentifizierungsanforderung des Transaktions- oder anderen MFA-Providers. Dieser Wert ist vorhanden, wenn die Validierung als Teil des "initiate+validate"-Musterablaufs ausgeführt wird. Sein Wert entspricht dem Wert, der in der vorherigen "initiate"-Antwort enthalten ist.

attributes

Obligatorisch. Anforderungsspezifische zusätzliche Attribute validieren.

attributes.username

Obligatorisch. Der Name eines Benutzers im externen Providersystem, dessen Validierung angefordert wird.

attributes.passvalue

Obligatorisch. Das zu validierende Token oder der zu validierende Wert.

Der folgende Code ist ein Beispiel für validate-Antwortnutzdaten.
{
    "attributes": {
        "<<any name>>": "<<any value>>"
    },
    "status": "SUCCESS"
}

Antwortdetails validieren

Elemente Beschreibung
Nutzdatentyp Ein JSON-Objekt, das den Status des Validierungsversuchs darstellt.
HTTP-Statuscode Siehe HTTP Status.
status Obligatorisch. Der Fertigstellungsstatus der Validierung. Gültige Werte sind SUCCESS, PENDING, TIMEOUT, CANCELED und FAILED.
attributes Optional. Zusätzliche Attribute, die an den öffentlichen Verify-Client zurückgegeben werden, der die MFA-Abfrage ausgelöst hat. Alle zusätzlichen Attribute und Werte können vorhanden sein.