OAuth-Token für Plattformservices verwenden
Der von Identitätsdomains bereitgestellte Tokenservice OAuth 2.0 ist ein Mechanismus, mit dem Sie ein gesichertes Token für den Zugriff auf die REST-Endpunkte von Oracle Cloud Platform Services (PaaS) verwenden können.
-
Um auf einen Cloud-Plattformservice zuzugreifen, der mit Identitätsdomains integriert ist, benötigen Sie die Identitätsdomain-URL. Wenn Sie die Identitätsdomain-URL nicht kennen, finden Sie weitere Informationen unter Identitätsdomain-URL finden.
-
cURL-Beispiele werden in der Prozedur verwendet, um ein Zugriffstoken aus Identitätsdomains abzurufen und dann mit dem Token auf einen Cloud-Plattformservice-REST-Endpunkt zuzugreifen.
Ein OAuth-Zugriffstoken hat einen Ablaufwert von 86.400 Sekunden (24 Stunden). Um REST-API-Anforderungen 24 Stunden nach dem Abrufen eines Zugriffstokens auszuführen, müssen Sie ein neues Token abrufen.
Voraussetzungen
Rufen Sie die folgenden Informationen aus der Identitätsdomain ab, bevor Sie beginnen.
- Identitätsdomain-URL
- Client-ID
- Client Secret
- Primäre Zielgruppen-URL
- Zulässiger Geltungsbereich
-
Melden Sie sich beim Dashboard Meine Services für Ihre Identitätsdomain an.
Hinweis
Um die Schritte in diesem Verfahren ausführen zu können, benötigen Sie entweder die Administratorrolle für die Identitätsdomain oder die Administratorrolle PaaS. -
Suchen Sie in der Liste der Services den Eintrag für die Identitätsdomain, und wählen Sie Identity Cloud aus.
-
Suchen Sie auf der Registerkarte Überblick den Abschnitt Serviceinstanzen, und kopieren Sie dann den Wert, der im Feld Serviceinstanz-URL angezeigt wird.
Beispiel:
https://<domainURL>.identity.oraclecloud.com/ui/v1/adminconsoleDabei ist
<domainURL>der REST-Serverteil der Identitätsdomain-URL (die Teil der Endpunkt-URL für das Anfordern eines Zugriffstokens ist). -
Wählen Sie Servicekonsole öffnen, blenden Sie Navigationsschublade ein, und wählen Sie Anwendungen aus.
-
Geben Sie im Suchfeld
PSMein, und wählen Sie das Suchsymbol aus. In den Ergebnissen finden Sie den Eintrag mit dem Titel Unterstützung von PSM-App für API OAuth.Hinweis
Die Platform Service Manager-App (PSMApp) ist für Oracle Cloud-Accounts, die vor 18.1.4 erstellt wurden, nicht verfügbar. -
Wählen Sie den Namen der Anwendung mit dem Titel PSM-App für API OAuth-Unterstützung aus. Der Name hat das Format
PSMApp-cacct-string-of-letters-and-numbers.Beispiel:
PSMApp-cacct-9z8x7c6v5b4n3mDies ist die vertrauenswürdige PSM-Clientanwendung der Identitätsdomain, die automatisch für Oracle Cloud-Accounts (nach 18.1.4) erstellt und mit Oracle Cloud Platform Service verknüpft wird.
-
Wählen Sie Konfiguration. Kopieren Sie unter Allgemeine Informationen den Wert, der im Feld Client-ID angezeigt wird.
Dies ist die Client-ID PSMApp. Beispiel:
PSMApp-cacct-9z8x7c6v5b4n3m_APPID -
Wählen Sie Secret anzeigen aus, und kopieren Sie den Wert.
Dies ist das Client Secret PSMApp. Beispiel:
c53b437-1768-4cb6-911e-1e6eg2g3543 -
Blenden Sie Ressourcen ein. Kopieren Sie den im Feld Primäre Zielgruppe angezeigten Wert.
Dies ist die primäre Zielgruppen-URL PSMApp. Beispiel:
https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.com -
Kopieren Sie im Abschnitt Zulässige Geltungsbereiche den Wert Geltungsbereich für die Berechtigung 1PaaS.
urn:opc:resource:consumer::all
Zugriffstoken OAuth abrufen
Verwenden Sie mit den gesammelten Informationen den REST-API-Endpunkt /oauth2/v1/token für Identitätsdomains, um ein Token abzurufen.
curl -k
-X POST -u "client-id:client-secret"
-d "grant_type=password&username=yourusername&password=yourpassword&scope=https://primary-audience-and-scope" "https://identity-cloud-service-instance-url/oauth2/v1/token"
Dabei gilt Folgendes:
-
client-idist die PSMApp-Client-ID -
client-secretist das PSMApp-Client Secret -
yourusernameist der Benutzername für den Cloud-Plattformservice mit einer Administratorrolle -
yourpasswordist das Kennwort für den Benutzernamen. -
primary-audience-and-scopeist eine Verkettung der primären Zielgruppen-URL PSMApp und des Berechtigungsbereichs 1PaaS. -
identity-cloud-service-instance-urlist der REST-Serverteil der Identitätsdomain-URL
Beispiel:
curl -k
-X POST -u "PSMApp-cacct-9z8x7c6v5b4n3m_APPID:c53b437-1768-4cb6-911e-1e6eg2g3543"
-d "grant_type=password&username=yourusername&password=yourpassword&scope=https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.comurn:opc:resource:consumer::all" "https://<domainURL>.identity.oraclecloud.com/oauth2/v1/token"
Im Folgenden finden Sie ein Beispiel für die zurückgegebene Antwort.
{
"access_token": "eyJ7NXQ...fMf46Q0yKopDxQ",
"token_type": "Bearer",
"expires_in": 86400
}
Die Tokenzeichenfolge wird in der Beispielantwort abgeschnitten. Kopieren Sie die gesamte Tokenzeichenfolge (innerhalb der Anführungszeichen), wie in der Antwort gezeigt.
Zugriffstoken OAuth in REST-API-Anforderungen für Cloud Platform Service verwenden
Nachdem Sie ein OAuth 2.0-Zugriffstoken abgerufen haben, geben Sie das Token in einem Bearer-Token-Header der REST-Anforderung für den Cloud-Plattformservice an.
curl -i
-X GET
-H "Authorization: Bearer token-string" "https://primary-audience/rest-endpoint-path"
Dabei gilt Folgendes:
-
token-stringist das OAuth-Zugriffstoken, das Sie abgerufen haben -
primary-audienceist die primäre Zielgruppen-URL PSMApp -
rest-endpoint-pathist der relative Pfad, der die REST-Ressource für den Cloud-Plattformservice definiert. Beachten Sie, dass die Identitätsdomain-ID möglicherweise im Pfad verwendet wird.
curl -i -X GET
-H "Authorization: Bearer eyJ7NXQ...fMf46Q0yKopDxQ" "https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.com/paas/api/v1.1/instancemgmt/idcs-9a888b7e6ebb44b4b65/services/jaas/instances"