Bienvenido al servidor OAuth
Este servidor implementa OAuth 2.0:
Introducción
Para usar este servidor OAuth, póngase en contacto con nosotros para solicitar una aplicación OAuth.
Proporcione una breve descripción de la aplicación que está creando, junto con los detalles a continuación. No se preocupe si no está seguro; podemos usar la descripción que proporcione para ayudarle.
- El tipo de cliente: ¿público o confidencial?
- El tipo de concesión: ¿autorización, credenciales de cliente o dispositivo?
- Las URI de redireccionamiento permitidas.
- Los recursos a los que desea acceder. Por favor, explore nuestra documentación de la API y nuestra API GraphQL.
Ejemplo (autorización)
3. Intercambiar código de autorización por token de acceso
Su manejador en YOUR_REDIRECT_URI debe realizar la siguiente llamada:
POST https://auth.estec-kraken.energy/token/
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&
client_secret=CLIENT_SECRET& # omitir para clientes públicos
grant_type=authorization_code&
code=AUTH_CODE&
redirect_uri=YOUR_REDIRECT_URI&
code_verifier=YOUR_CODE_VERIFIER
Si tiene la intención de realizar esta llamada desde el frontend, la aplicación OAuth debe ser pública y el secreto debe omitirse de la solicitud.
Si tiene la intención de realizar esta llamada desde el backend, la aplicación OAuth debe ser confidencial y el secreto debe incluirse en la solicitud.
Ejemplo (credenciales de cliente)
1. Intercambiar credenciales por un token de acceso
POST https://auth.estec-kraken.energy/token/
Authorization: Basic BASE64_ENCODED(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
2. Acceder a un recurso protegido
GET https://api.estec-kraken.energy/resource/
Authorization: YOUR_ACCESS_TOKEN
Ejemplo (dispositivo)
2. Intercambiar código de dispositivo por token de acceso
Mientras el usuario autoriza, el dispositivo debe intentar periódicamente adquirir un token de acceso (a una tasa especificada por los segundos del interval):
POST https://auth.estec-kraken.energy/token/
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&device_code=DEVICE_CODE&grant_type=urn:ietf:params:oauth:grant-type:device_code
3. Acceder a un recurso protegido
GET https://api.estec-kraken.energy/resource/
Authorization: YOUR_ACCESS_TOKEN
Ejemplo (intercambio de tokens)
Se admiten las semánticas de delegación de RFC 8693. Esto significa que utilizará el token de credenciales de cliente tanto en el encabezado Authorization como en el actor_token, como se muestra a continuación.
1. Recupere un token de acceso para su aplicación de credenciales de cliente, tal como se describe en Ejemplo (credenciales de cliente).
2. Suponiendo que se ha emitido un EXTERNAL_IDP_USER_ACCESS_TOKEN por parte de su IdP externo, realice la llamada de intercambio de tokens:
POST https://auth.estec-kraken.energy/token
Authorization: YOUR_CLIENT_CREDENTIALS_ACCESS_TOKEN
Content-Type: application/x-www-form-urlencoded
grant_type="urn:ietf:params:oauth:grant-type:token-exchange"&
actor_token_type="urn:ietf:params:oauth:token-type:access_token"&
actor_token=YOUR_CLIENT_CREDENTIALS_ACCESS_TOKEN&
subject_token_type="urn:ietf:params:oauth:token-type:access_token"&
subject_token=EXTERNAL_IDP_USER_ACCESS_TOKEN
3. Acceder a un recurso protegido
GET https://api.estec-kraken.energy/resource/
Authorization: YOUR_ACCESS_TOKEN