Uso de un token OAuth para Platform Services
El servicio de token OAuth 2.0 proporcionado por los dominios de identidad es un mecanismo que permite utilizar un token seguro para acceder a los puntos finales de REST de Oracle Cloud Platform Services (PaaS).
-
Para acceder a un servicio de plataforma en la nube integrado con dominios de identidad, necesita la URL del dominio de identidad. Si no conoce la URL del dominio de identidad, consulte Búsqueda de una URL de dominio de identidad.
-
En el procedimiento, se utilizan ejemplos de cURL para obtener un token de acceso de los dominios de identidad y, a continuación, acceder a un punto final de REST del servicio de plataforma en la nube con el token.
Un token de acceso OAuth tiene un valor de caducidad de 86 400 segundos (24 horas). Para realizar solicitudes de API de REST 24 horas después de obtener un token de acceso, debe obtener un nuevo token.
Requisitos
Obtenga la siguiente información del dominio de identidad antes de empezar.
- URL del dominio de identidad
- Identificador de Cliente
- Secreto de cliente
- URL de público principal
- Ámbito permitido
-
Inicie sesión en el panel de control Mis servicios del dominio de identidad.
Nota
Debe tener el rol de administrador del dominio de identidad o el rol de administrador PaaS para seguir los pasos de este procedimiento. -
En la lista de servicios, busque la entrada para el dominio de identidad y, a continuación, haga clic en Identity Cloud.
-
En el separador Visión general, busque la sección Instancias de servicio y, a continuación, copie el valor que se muestra en el campo URL de instancia de servicio.
Por ejemplo:
https://<domainURL>.identity.oraclecloud.com/ui/v1/adminconsole
Donde
<domainURL>
es la parte del servidor REST de la URL del dominio de identidad (que forma parte de la URL de punto final para solicitar un token de acceso). -
Haga clic en Abrir consola de servicio, amplíe el Cajón de navegación y, a continuación, haga clic en Aplicaciones.
-
En el campo de búsqueda, introduzca
PSM
y, a continuación, haga clic en el icono de búsqueda. En los resultados, busque la entrada titulada Aplicación PSM para soporte de API OAuth.Nota
La aplicación Platform Service Manager (PSMApp) no está disponible para las cuentas de Oracle Cloud creadas antes de la versión 18.1.4. -
Haga clic en el nombre de la aplicación denominada Aplicación PSM para soporte de API OAuth. El nombre tiene el formato
PSMApp-cacct-string-of-letters-and-numbers.
Por ejemplo:
PSMApp-cacct-9z8x7c6v5b4n3m
Se trata de la aplicación de cliente PSM de confianza del dominio de identidad, que se crea automáticamente para las cuentas de Oracle Cloud (después de la 18.1.4) y se asocia a Oracle Cloud Platform Service.
-
Haga clic en Configuración. En Información general, copie el valor que se muestra en el campo ID de cliente.
Este es el ID de cliente PSMApp. Por ejemplo:
PSMApp-cacct-9z8x7c6v5b4n3m_APPID
-
Haga clic en Mostrar secreto y, a continuación, copie el valor.
Este es el secreto de cliente PSMApp. Por ejemplo:
c53b437-1768-4cb6-911e-1e6eg2g3543
-
Amplíe Recursos. Copie el valor que se muestra en el campo Público principal.
Esta es la URL de público principal PSMApp. Por ejemplo:
https://psm-cacct-9z8x7c6v5b4n3m.console.oraclecloud.com
-
En la sección Ámbitos permitidos, copie el valor de Ámbito para el permiso de 1PaaS.
urn:opc:resource:consumer::all
Obtener un token de acceso OAuth
Con la información recopilada, utilice el punto final de la API de REST de los dominios de identidad /oauth2/v1/token
para obtener un token.
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"
Donde:
-
client-id
es el identificador de cliente PSMApp -
client-secret
es el secreto de cliente PSMApp -
yourusername
es el nombre de usuario del servicio de plataforma en la nube con un rol de administrador -
yourpassword
es la contraseña para el nombre de usuario -
primary-audience-and-scope
es una concatenación de la URL de público principal PSMApp y el ámbito de permiso 1PaaS -
identity-cloud-service-instance-url
es la parte del servidor REST de la URL del dominio de identidad
Por ejemplo:
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"
A continuación se muestra un ejemplo de la respuesta devuelta.
{
"access_token": "eyJ7NXQ...fMf46Q0yKopDxQ",
"token_type": "Bearer",
"expires_in": 86400
}
La cadena de token se trunca en la respuesta de ejemplo. Copie toda la cadena de token (entre las comillas) como se muestra en la respuesta.
Uso del token de acceso OAuth en solicitudes de API de REST de Cloud Platform Service
Después de obtener un token de acceso OAuth 2.0, proporcione el token en una cabecera de token de portador de la solicitud REST del servicio de plataforma en la nube.
curl -i
-X GET
-H "Authorization: Bearer token-string" "https://primary-audience/rest-endpoint-path"
Donde:
-
token-string
es el token de acceso OAuth que ha obtenido -
primary-audience
es la URL de público principal PSMApp -
rest-endpoint-path
es la ruta relativa que define el recurso REST del servicio de plataforma en la nube. Tenga en cuenta que el ID de dominio de identidad se puede utilizar en la ruta.
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"