requestCredentialWithResourceOwnerPasswordFlow
Versionshinweise | 21.1.12, 21.2, 24.4 |
---|
Code
void OAuthUtils.requestCredentialWithResourceOwnerPasswordFlow(String audience, String audienceIdentifier, boolean isUnitCredential, String scope, String clientId, String clientSecret, String accessTokenEndpointUrl, String resourceOwnerUsername, String resourceOwnerPassword)
Beschreibung
Fragt ein OAuth Credential mit Hilfe des Resource Owner Password Credential Grants (siehe RFC 6749 Abschnitt 1.3.3) vom Authorization Server an.
Das daraus entstehende OAuth Credential wird dann als System-Credential unter der angegebenen Zielgruppe und der Bezeichnung innerhalb der Zielgruppe abgelegt. Der Aufruf erfolgt synchron in diesem Skript, es ist keine Benutzerinteraktion erforderlich.
Parameter
audience
– Die Zielgruppe der OAuth-Zugangsdaten.audienceIdentifier
– Die Bezeichnung innerhalb der Zielgruppe der OAuth-Zugangsdaten.isUnitCredential
- >24.4 Gibt an, ob die OAuth-Zugangsdaten mandantenspezifisch für den Hauptmandanten des Benutzers gespeichert werden.
Der Paramater ist optional und wird mitfalse
vorbelegt.scope
– Eine mit Leerzeichen getrennte Liste von Scopes, die angefragt werden sollen.clientId
– Die OAuth 2.0 Client ID um sich gegenüber dem Authorization Server zu authentifizieren.clientSecret
– Das OAuth 2.0 Client Secret um sich gegenüber dem Authorization Server zu authentifizieren.accessTokenEndpointUrl
– Die URL des Access Token Endpoints (üblicherweise nur "Token Endpoint" genannt) des OAuth 2.0 Authorization Servers.resourceOwnerUsername
– Der Benutzername des Ressourcen-Eigentümers, in dessen Namen der Client autorisiert werden soll.resourceOwnerPassword
– Das Passwort des Ressourcen-Eigentümers, in dessen Namen der Client autorisiert werden soll.
Beispiele
String audience = "example-com-api";
String audienceIdentifier = "pricing-api";
String scope = "read_prices change_prices";
String clientId = "demo-pricing-client";
String clientSecret = "secretValue";
String accessTokenEndpointUrl = "https://auth.example.com/token";
String resourceOwnerUsername = "username";
String resourceOwnerPassword = "password";
OAuthUtils.requestCredentialWithResourceOwnerPasswordFlow(audience, audienceIdentifier, false, scope, clientId, clientSecret, accessTokenEndpointUrl, resourceOwnerUsername, resourceOwnerPassword);