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 que está 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.
-
Los ejemplos de cURL se utilizan en el procedimiento para obtener un token de acceso de los dominios de identidad y, a continuación, acceder a un punto final de REST de 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
- ID de cliente
- Secreto de cliente
- URL de público principal
- Ámbito permitido
-
Conéctese al 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, seleccione Identity Cloud.
-
En el separador Visión general, busque la sección Instancias de servicio y, a continuación, copie el valor mostrado en el campo URL de instancia de servicio.
Por ejemplo:
https://<domainURL>.identity.oraclecloud.com/ui/v1/adminconsoleDonde
<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). -
Seleccione Abrir consola de servicio, amplíe el Cajón de navegación y, a continuación, seleccione Aplicaciones.
-
En el campo de búsqueda, introduzca
PSMy, a continuación, seleccione el icono de búsqueda. En los resultados, busque la entrada titulada Aplicación de 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. -
Seleccione el nombre de la aplicación titulada Aplicación de PSM para soporte de API OAuth. El nombre tiene el formato
PSMApp-cacct-string-of-letters-and-numbers.Por ejemplo:
PSMApp-cacct-9z8x7c6v5b4n3mEsta es la aplicación cliente de PSM de confianza del dominio de identidad, que se crea automáticamente para las cuentas de Oracle Cloud (después de la versión 18.1.4) y se asocia con Oracle Cloud Platform Service.
-
Seleccione 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 -
Seleccione Mostrar secreto y, a continuación, copie el valor.
Éste 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 1PaaS.
urn:opc:resource:consumer::all
Obtener un token de acceso OAuth
Con la información que ha recopilado, utilice el punto final de 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-ides el ID de cliente PSMApp -
client-secretes el secreto de cliente PSMApp -
yourusernamees el nombre de usuario del servicio de plataforma en la nube con un rol de administrador -
yourpasswordes la contraseña del nombre de usuario -
primary-audience-and-scopees una concatenación de la URL de público principal PSMApp y el ámbito de permiso 1PaaS -
identity-cloud-service-instance-urles 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 del acceso OAuth 2.0, proporcione el token en una cabecera de token del portador de la solicitud de 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-stringes el símbolo de acceso OAuth que ha obtenido -
primary-audiencees la URL de público principal PSMApp -
rest-endpoint-pathes 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"