policyauth-Erteilung ausführen

Der policyauth-Ablauf ist der einzige Erteilungstyp, der Regeln für den ersten Faktor verwendet.

Ablauf einleiten

Führen Sie diese Erstanforderung aus.
POST https://securitypoc.ice.ibmcloud.com/v1.0/endpoint/default/token

client_id=1a4310d4-0118-4511-9082-39669ccdcad6&
client_secret=cmVkYWN0ZWQ&
scope=openid&
grant_type=policyauth&
context=eyJzZXNzaW9uSWQiOiJNRE5qWm1RM05ETTJOakZtTURjNU56Vm1ZVEptTVQiLCAiaXBBZGRyZXNzIjoiMTkyLjE2OC4xLjEiLCAidXNlckFnZW50IjoiTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvODMuMC40MTAzLjExNiBTYWZhcmkvNTM3LjM2In0=
Der nicht codierte Kontextparameter (context) lautet:
{
        "sessionId":"MDNjZmQ3NDM2NjFmMDc5NzVmYTJmMT",
        "ipAddress":"192.168.1.1",
        "userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
}
Hinweis: Das Zugriffstoken verfügt über die ISV-Berechtigungen authnAnyUser , da für diese Berechtigungserteilung kein Benutzersubjekt festgelegt wurde.
Die Antwort lautet:
{
    "access_token": "Zm51m36StosiS1Ylk8N0kPej6txyqD77Csqu2BXx",
    "allowedFactors": [
        "password"
    ],
    "scope": "mfa_challenge",
    "grant_id": "c14c63c1-6431-4c8f-a8fe-c939aff01744",
    "token_type": "Bearer",
    "expires_in": 1800
}
Wenn der angezeigte Kontext nicht mit der IP-Bedingung übereinstimmt, lautet die Antwort:
{
    "access_token": "0IINSucs0dv7Tj8uLEvZ1ePrwlkDV1O5dIK5UGJA",
    "allowedFactors": [
        "fido2"
    ],
    "scope": "mfa_challenge",
    "grant_id": "8edae448-b6a8-4ae7-8ebb-63c2a9a49ca0",
    "token_type": "Bearer",
    "expires_in": 1800
}
Beachten Sie den geänderten zurückgegebenen Wert für allowedFactors.

Ersten Faktor ausführen

Mithilfe des angegebenen Werts für allowedFactors erfolgt ein Aufruf an die API für Benutzername und Kennwort.
POST https://securitypoc.ice.ibmcloud.com/v1.0/authnmethods/password/46872982-ab9e-4c9f-8200-8f394b328394?returnJwt=true
Authorization: Bearer Zm51m36StosiS1Ylk8N0kPej6txyqD77Csqu2BXx


{
  "username": "scott",
  "password": "hunter22"
}
Das Zugriffstoken, das in der mfa_challenge-Antwort ausgegeben wurde, wird zum Aufrufen von Faktoren verwendet. Der Endpunktaufruf umfasst den Parameter returnJwt.
Die Antwort lautet:
{
  "groups": [...],
  "attributes": [...],
  "assertion": "eyJhbGciOiJSUzI1NiIsImtpZCI6InNlcnZlciJ9.eyJzdWIiOiI2MDQwMDAzT0g4IiwianRpIjoiNjBmMDY3ZDYtM2VmYS00ODVlLTk0MTYtMzZjNjQ4MTFhZTc2IiwiaWF0IjoxNTkzNDkyOTA0LCJleHAiOjE1OTM0OTMyMDQsInRlbmFudElkIjoibG1mLmljZS5pYm1jbG91ZC5jb20iLCJpc3MiOiJodHRwczovL2xtZi5pY2UuaWJtY2xvdWQuY29tL3YyLjAvZmFjdG9ycyIsImF1ZCI6WyIxYTQzMTBkNC0wMTE4LTQ1MTEtOTA4Mi0zOTY2OWNjZGNhZDYiLCJodHRwczovL2xtZi5pY2UuaWJtY2xvdWQuY29tL3YxLjAvZW5kcG9pbnQvZGVmYXVsdC90b2tlbiJdLCJmYWN0b3IiOiJwYXNzd29yZCIsImFtciI6WyJwYXNzd29yZCJdLCJncmFudF9pZCI6ImMxNGM2M2MxLTY0MzEtNGM4Zi1hOGZlLWM5MzlhZmYwMTc0NCJ9Cg.J9_Omrs8vlTz9bgGWVI0T4AssoMP0UFNoDZ_4d93NEELq_kE1qoXw0Ao8_1QMyyYPRhtnCxtpF5NrD7s4yIzU-WnOkV2qXHfVX5nZPJnPOdP3YOOfUiA0sBTqxlAWr_lePaZuMjseKXpB0YP9ntOqo9T0woQ9MUY6B1gPrRbnX9Zzx64RzA3GgUD3_IhgghIcwxYuSZEKzf8PejG-oh70jSE5gkPK8JiEbvc2lVP7tQgdTCdbjRFybST5B57RTdU1X85uQ7fjO4ggxLcYljHPBfOkSgwCBnq6BXwcVo8o4w6XPYQgRnjDFyJJTf7EwLMaoEwjDiGO4wHXmATgitMng",
  "id": "6040003OH8"
}

Erstauthentifizierung: JWT wieder /token bereitstellen

POST https://securitypoc.ice.ibmcloud.com/v1.0/endpoint/default/token

POST https://securitypoc.ice.ibmcloud.com/v1.0/endpoint/default/token

client_id=1a4310d4-0118-4511-9082-39669ccdcad6&
client_secret=cmVkYWN0ZWQ&
scope=openid&
grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&
context=eyJzZXNzaW9uSWQiOiJNRE5qWm1RM05ETTJOakZtTURjNU56Vm1ZVEptTVQiLCAiaXBBZGRyZXNzIjoiMTkyLjE2OC4xLjEiLCAidXNlckFnZW50IjoiTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvODMuMC40MTAzLjExNiBTYWZhcmkvNTM3LjM2In0=&
assertion=eyJhbGciOiJSUzI1NiIsImtpZCI6InNlcnZlciJ9.eyJhbXIiOlsiZW1haWxvdHAiLCJwYXNzd29yZCJdLCJhdWQiOlsiMWE0MzEwZDQtMDExOC00NTExLTkwODItMzk2NjljY2RjYWQ2IiwiaHR0cHM6Ly9zZWN1cml0eXBvYy5pY2UuaWJtY2xvdWQuY29tL3YxLjAvZW5kcG9pbnQvZGVmYXVsdC90b2tlbiJdLCJleHAiOjE1OTM4OTMyMDQsImZhY3RvciI6ImVtYWlsb3RwIiwiZ3JhbnRfaWQiOiJjMTRjNjNjMS02NDMxLTRjOGYtYThmZS1jOTM5YWZmMDE3NDQiLCJpYXQiOjE1OTM4OTI5MDQsImlzcyI6Imh0dHBzOi8vc2VjdXJpdHlwb2MuaWNlLmlibWNsb3VkLmNvbS92Mi4wL2ZhY3RvcnMiLCJqdGkiOiI2MGZhYjdkNi0zZWZhLTQ4NWUtOTQxNi0zNmM2NDgxMWFlNzYiLCJzdWIiOiI2MDQwMDAzT0g4IiwidGVuYW50SWQiOiJzZWN1cml0eXBvYy5pY2UuaWJtY2xvdWQuY29tIn0.J9_Omrs8vlTz9bgGWVI0T4AssoMP0UFNoDZ_4d93NEELq_kE1qoXw0Ao8_1QMyyYPRhtnCxtpF5NrD7s4yIzU-WnOkV2qXHfVX5nZPJnPOdP3YOOfUiA0sBTqxlAWr_lePaZuMjseKXpB0YP9ntOqo9T0woQ9MUY6B1gPrRbnX9Zzx64RzA3GgUD3_IhgghIcwxYuSZEKzf8PejG-oh70jSE5gkPK8JiEbvc2lVP7tQgdTCdbjRFybST5B57RTdU1X85uQ7fjO4ggxLcYljHPBfOkSgwCBnq6BXwcVo8o4w6XPYQgRnjDFyJJTf7EwLMaoEwjDiGO4wHXmATgitMng
Der Kontextparameter (context) bleibt unverändert.
Die /token Antwort lautet
{
  "access_token": "lkXMx3tHQjWSalhNmtWIrloMHQOue1ntchRymytL",
  "allowedFactors": [
    "emailotp"
  ],
  "scope": "mfa_challenge",
  "grant_id": "c14c63c1-6431-4c8f-a8fe-c939aff01744",
  "token_type": "Bearer",
  "expires_in": 1799
}
Hinweis: Der Wert grant_id bleibt unverändert, da es sich hierbei nicht um die Einrichtung eines neuen Zugangs handelt, im Gegensatz zur herkömmlichen Verwendung von „jwt-bearer grant_type “. Das Zugriffstoken verfügt über die folgenden ISV-Nutzungsrechte:
authn,
        readEnrollMFAMethod
Für diese ist sowohl die Erkennung als auch die Ausführung der Faktorregistrierung zulässig ist.

Da der Benutzer Mitglied der Gruppe ADMINISTRATORS ist, ist eine weitere Authentifizierung erforderlich. Siehe „Durchführung der Multi-Faktor-Authentifizierung (MFA) “.