createRequestWithUserCredential (OAuthUtils)
Versionshinweise | 21.1.12, 21.2 |
---|
Code
OAuthRequest OAuthUtils.createRequestWithUserCredential(WebTarget target, String audience, String audienceIdentifier, String clientId, String clientSecret, String refreshTokenEndpointUrl)
Beschreibung
Erstellt einen OAuthRequest für das angegebene Ressourcen-Ziel unter Verwendung des durch die audience
und den audienceIdentifier
spezifizierten benutzerspezifischen Credentials.
Das OAuth Access Token wird als Bearer Token an die Anfrage angehängt.
Falls die Parameter clientId
, clientSecret
und refreshTokenEndpointUrl
alle mit nicht-null
-Werten gefüllt werden, wird das Credential automatisch mit dem Refresh Token am Authorization Server aufgefrischt, wenn die Zielressource den ersten Anmeldeversuch mit dem OAuth Token ablehnt.
Falls die Parameter clientId
, clientSecret
und refreshTokenEndpointUrl
alle null
sind, erfolgt keine Auffrischung des Credentials.
Parameter
target – Das Ressourcen-Ziel des Anfrage-Objektes.
audience – Die Zielgruppe der OAuth-Zugangsdaten.
audienceIdentifier – Die Bezeichnung innerhalb der Zielgruppe der OAuth-Zugangsdaten.
clientId – Die OAuth 2.0 Client ID, die verwendet werden soll, um sich beim Auffrischen des Credentials gegenüber dem Authorization Server zu authentifizieren. Kann
null
sein, wenn Tokens nicht aufgefrischt werden sollen.clientSecret – Das OAuth 2.0 Client Secret, das verwendet werden soll, um sich beim Auffrischen des Credentials gegenüber dem Authorization Server zu authentifizieren. Kann
null
sein, wenn Tokens nicht aufgefrischt werden sollen.refreshTokenEndpointUrl – Die URL des Token Refresh Endpoints (üblicherweise nur "Token Endpoint" genannt) des OAuth 2.0 Authorization Servers. Kann
null
sein, wenn Tokens nicht aufgefrischt werden sollen.
Rückgabe
Ein Request an eine OAuth geschützte Ressource, an den das Access Token als Bearer Token angehängt wird.
Beispiele
// Request mit automatischer Auffrischung des Tokens
String audience = "example-com-api";
String audienceIdentifier = "pricing-api";
String clientId = "demo-pricing-client";
String clientSecret = "secretValue";
String refreshTokenEndpointUrl = "https://auth.example.com/token";
WebTarget target1 = RestUtils.createTarget("https://pricing-api.example.com/api/pricing/product1");
OAuthRequest refreshingRequest = OAuthUtils.createRequestWithUserCredential(target1, audience, audienceIdentifier, clientId, clientSecret, refreshTokenEndpointUrl);
// Request ohne Auffrischung des Tokens
WebTarget target2 = RestUtils.createTarget("https://pricing-api.example.com/api/pricing/product2");
OAuthRequest nonRefreshingRequest = OAuthUtils.createRequestWithUserCredential(target2, audience, audienceIdentifier, null, null, null);