Erteilungstypen
Ein Erteilungstyp gibt den Berechtigungsmechanismus an, den der Client verwendet, um das ID-Token und das Zugriffstoken aus Verifyabzurufen. Sie können zwischen Berechtigungscode, implizit, Berechtigungscode und implizit, Geräteablauf, Ressourceneignerberechtigungsnachweise, JWT, kontextbasierte Berechtigung, Aktualisierungstokenund Tokenaustauschwählen.
| Merkmale | Berechtigungscode | Implizit | Berechtigungscode und Implizit |
|---|---|---|---|
| Beschreibung | Der Berechtigungsendpunkt Clientauthentifizierung unter Verwendung einer Client-ID und eines geheimen
Schlüssels ist erforderlich, um das ID-Token oder das Zugriffstoken vom
Tokenendpunkt Dies ist der am häufigsten verwendete Ablauf. |
Der Berechtigungsendpunkt Er verwendet keinen Berechtigungscode und keinen Tokenendpunkt
|
Er ermöglicht dem Client-Front-End und -Back-End, Tokens jeweils unabhängig voneinander zu empfangen. Der Client ruft einen Berechtigungscode und Tokens vom Berechtigungsendpunkt
|
| Anwendungsfall | Verwendung für Clients, die einen geheimen Clientschlüssel sicher verwalten können, wie beispielsweise Webanwendungen und native mobile Anwendungen. Sie dient zur Authentifizierung des Benutzers und des Clients. |
Verwendung für Clients, die einen geheimen Clientschlüssel nicht sicher verwalten können, wie beispielsweise der Browser oder JavaScript-basierte Anwendungen. Dient zur Authentifizierung des Benutzers. |
Verwendung für Clients, die:
|
| Antworttypwert |
|
|
|
| Alle Tokens werden vom Berechtigungsendpunkt zurückgegeben. | Nein | Ja | Nein |
| Alle Tokens werden vom Tokenendpunkt zurückgegeben. | Ja | Nein | Nein |
| Tokens werden dem Benutzeragenten gegenüber nicht offengelegt. | Ja | Nein | Nein |
| Clientanwendung kann authentifiziert werden. | Ja | Nein | Ja |
| Aktualisierungstokens generieren | Ja | Nein | Ja |
| Kommunikation in einem einzigen Umlauf | Nein | Ja | Nein |
| Der größte Teil der Kommunikation erfolgt als Kommunikation zwischen Servern. | Ja | Nein | Unterschiedlich |
| Hinweis zur Anmeldung (login_hint) | Ja Dieser Wert kann der Benutzername als Zeichenfolge sein, z. B.
john@ibm.com, oder ein JSON-Wert. Beispiel:. Wenn ein JSON-Wert verwendet wird, stellt das Realm das Identitätsquellenrealm dar. |
Ja Dieser Wert kann der Benutzername als Zeichenfolge sein, z. B.
john@ibm.com, oder ein JSON-Wert. Beispiel:. Wenn ein JSON-Wert verwendet wird, stellt das Realm das Identitätsquellenrealm dar. |
Ja Dieser Wert kann der Benutzername als Zeichenfolge sein, z. B.
john@ibm.com, oder ein JSON-Wert. Beispiel:. Wenn ein JSON-Wert verwendet wird, stellt das Realm das Identitätsquellenrealm dar. |
| Maximale Gültigkeitsdauer der Authentifizierung (max_age) | Dieser Wert gibt die seit der letzten aktiven Authentifizierung des Benutzers zulässige abgelaufene Zeit in Sekunden an. Dieses Attribut gilt nur für Cloud Directory-Anmeldesitzungen. | Dieser Wert gibt die seit der letzten aktiven Authentifizierung des Benutzers zulässige abgelaufene Zeit in Sekunden an. Dieses Attribut gilt nur für Cloud Directory-Anmeldesitzungen. | Dieser Wert gibt die seit der letzten aktiven Authentifizierung des Benutzers zulässige abgelaufene Zeit in Sekunden an. Dieses Attribut gilt nur für Cloud Directory-Anmeldesitzungen. |
| Workflow |
|
|
|
| Merkmale | Geräteablauf | Kennwortberechtigungsnachweise für Ressourceneigner | JWT |
|---|---|---|---|
| Beschreibung | Ermöglicht dem Client die Berechtigung mithilfe eines QR-Codes oder eines Benutzercodes, der an eine URL gesendet wird. | Client- und Benutzerauthentifizierung unter Verwendung einer Client-ID, eines geheimen Clientschlüssels, eines Benutzernamens und eines Kennworts ist erforderlich, um das Zugriffstoken und das ID-Token vom Tokenendpunkt /token abzurufen. Der Benutzername und das Kennwort werden mithilfe von Cloud Directory validiert. | In RFC7523 definiert. Ermöglicht es einem Client, ein signiertes oder verschlüsseltes JWT oder ein signiertes und verschlüsseltes JWT im Austausch für eine Erteilung bereitzustellen. Das JWT wird vom Berechtigungsserver validiert und die Identität in dem JWT wird als das Subjekt der Erteilung verwendet. |
| Anwendungsfall | Verwendung für Clients, die:
|
Dieser Erteilungstyp kann zwar aktiviert werden, er sollte jedoch nur
verwendet werden, wenn keine anderen Abläufe verfügbar sind. Er kann für
Folgendes verwendet werden:
|
Zwischen dem Berechtigungsserver (Verify) und einer Entität, die JWTs ausstellt, besteht eine Vertrauensbeziehung. Der Client ruft von der Entität, die JWTs ausstellt, ein JWT ab und stellt es dem Berechtigungsserver im Austausch für eine Erteilung zur Verfügung. Für die Entität, die JWTs ausstellt, sind möglicherweise eigene Anforderungen vorhanden, die erfüllt sein müssen, bevor ein JWT ausgestellt wird (wie beispielsweise alternative Authentifizierungs- und Berechtigungsprüfungen). |
| Antworttypwert | Nicht zutreffend | Nicht zutreffend | Nicht zutreffend |
| Alle Tokens werden vom Berechtigungsendpunkt zurückgegeben. | Nein | Nein | Nein |
| Alle Tokens werden vom Tokenendpunkt zurückgegeben. | Ja | Ja | Ja |
| Tokens werden dem Benutzeragenten gegenüber nicht offengelegt. | Ja | Ja | Ja |
| Clientanwendung kann authentifiziert werden. | Ja | Ja | Ja |
| Aktualisierungstokens generieren | Ja | Ja | Ja |
| Kommunikation in einem einzigen Umlauf | |||
| Der größte Teil der Kommunikation erfolgt als Kommunikation zwischen Servern. | |||
| Hinweis zur Anmeldung (login_hint) | Nein | Nein | Nein |
| Maximale Gültigkeitsdauer der Authentifizierung (max_age) | Nicht zutreffend | ||
| Workflow |
|
|
|
| Merkmale | Kontextbasierte Berechtigung | Aktualisierungstoken | Tokenaustausch |
|---|---|---|---|
| Beschreibung | Ein API-gesteuerter Ablauf, bei dem zusätzliche Authentifizierungs- und Berechtigungsprüfungen ausgeführt werden. Bevor eine Erteilung an den Client ausgegeben wird, ist unter Umständen eine Mehrfaktorauthentifizierung erforderlich. | Die Client-und Benutzerauthentifizierung ist erforderlich, indem eine Client-ID, ein geheimer Clientschlüssel und ein Aktualisierungstoken verwendet werden, um eine neue Gruppe von Zugriffstoken, ID-Token und Aktualisierungstoken vom Tokenendpunkt/Token abzurufen. Das Aktualisierungstoken muss derselben Client-ID angehören. Dem Token zugeordnete Attributwerte werden während dieses Ablaufs nicht aktualisiert. | Definiert in RFC8693. Ermöglicht einem Client die Präsentation eines Tokens, das gegen ein anderes Token ausgetauscht werden soll |
| Anwendungsfall |
|
Verwenden Sie diesen Erteilungstyp, um eine neue Gruppe von Zugriffstoken mit verlängerter Tokenlebensdauer abzurufen. Auf diese Weise kann die Lebensdauer des Zugriffstokens kurz gehalten werden, der Benutzer muss sich jedoch nicht erneut anmelden, um ein neues Zugriffstoken zu erhalten. |
|
| Antworttypwert | Nicht zutreffend | Nicht zutreffend | Nicht zutreffend |
| Alle Tokens werden vom Berechtigungsendpunkt zurückgegeben. | Nein | Nein | Nein |
| Alle Tokens werden vom Tokenendpunkt zurückgegeben. | Ja | Ja | Ja |
| Tokens werden dem Benutzeragenten gegenüber nicht offengelegt. | Ja | Ja | Ja |
| Clientanwendung kann authentifiziert werden. | Ja | Ja | Ja |
| Aktualisierungstokens generieren | Ja | Ja | Ja |
| Kommunikation in einem einzigen Umlauf | Ja | ||
| Der größte Teil der Kommunikation erfolgt als Kommunikation zwischen Servern. | Ja | ||
| Hinweis zur Anmeldung (login_hint) | Nein | Nein | Nein |
| Maximale Gültigkeitsdauer der Authentifizierung (max_age) | Nicht zutreffend | Nein | |
| Workflow |
Hinweis:
|
|
|