Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

onesait Platform is ready to work with OAuth2 authentication. Following we'll see the Oauth2 Token management flow.

1. Oauth2 Realm configuration parameters

When creating or Updating a Realm, there are two parameters to be configured associated to the Oauth Tokens:

Image Removed

  • KEY (Secret): key that will be used for clients's authentication..
  • TOKEN VALIDITY TIME (S): configurable duration (in seconds) in which the generated token will be valid.

They are non-obligatory attributes. In case of not informing them, they will take default values ​​(onesaitplatform and 43200 (12 hours)).

2. Token Generation

There is an endpoint that allows Oauth2 token generation. The URL is:

...

ES | EN

Table of Contents

Onesait Platform está preparada para trabajar con autenticación OAuth2. A continuación se explica el flujo de gestión de los tokens Oauth2.

1. Parametros de configuración OAuth2 de los Realms

A la hora de crear o modificar un Realm, existen dos parámetros que se pueden configurar asociados a los tokens de autenticación dentro de cada Realm.

Image Added

  • Clave (Secret): Se utilizará para la autenticación de los clientes.
  • Tiempo de validez de token (S): periodo de tiempo configurable (en segundos) durante el que un token generado es válido.

Son atributos opcionales. En caso de no informarse, tomarán valores por defecto definidos en el despliegue de la plataforma ​​(onesaitplatform y 43200 (12 horas)).

2. Generación de Tokens

Hay un endpoint que permite generar tokens Oauth2. Su URL es como esta: https://lab.onesaitplatform.com/oauth-server/oauth/token

...

Se trata de una petición POST, y debe incluir:

  • Headers:
    • Authorization: (client:secret b64)
    • Content-Type: application/x-www-form-urlencoded
  • Body:
    • grant_type: password (para peticiones User/Password

...

    • )
    • username:

...

    • id de usuario
    • password:

...

    • contraseña de usuario
    • clientId:

...

    • id del cliente que solicita el token
    • scope:

...

    • ambito del token 

Utilizando Postman para realizar esta petición:

Image Modified


Image Modified

...

La respuesta tendrá esté formato:

Image Modified

...

A destacar:

  • access_token:

...

  • Token de acceso
  • refresh_token:

...

  • Token

...

  • de refresco (de un solo uso)
  • expires_in:

...

  • Tiempo restante de validez (segundos)
  • authorities:

...

  • Roles asignados al usuario

3.

...

Check Token

...

Servicio que verifica la validez de un token.

...

El endpoint sería como este: https://

...

...

com/oauth-server/openplatform-oauth/check_token

...


La petición debe incluir:

  • Headers:
    • Authorization: (client:secret b64)
  • Parameter:
    • token: token

...

    • a validar

...

Usando postman:

Image Modified

If the token is valid, a response will be obtained in the form:

Image Removed

To Highlight:

...

Si el token es válido, se obtendrá una respuesta de la forma:

Image Added

A destacar:

  • principal/name: usuario para el que se generó el token.
  • exp: Fecha de expiración.
  • client_id:

...

  • Cliente para el que se generó el token.
  • authorities:

...

  • Roles asignados al usuario en el Realm.

4. Refresh Token

Service that regenerates the token in order to obtain another one. The endpoint is:

Servicio que refresca el token de acceso para obtener uno nuevo. El endpoint será como este: https://

...

...

...

el mismo que para obtener un nuevo token, cambia el atributo grant-type).

...

La request

...

debe incluir:

  • Headers:
    • Authorization: (client:secret b64)
    • Content-Type: application/x-www-form-urlencoded
  • Body:
    • grant_type: refresh_token (

...

    • indica la operación)
    • refresh_token:

...

    • token de refresco obtenido cuando se generó el token de acceso

Utilizando Postman:

Image Modified

Image Modified

...

El resultado tendrá la misma estructura que cuando se hace una petición de generación de token.

Image Modified

...

El token de refresco es de un solo uso. Después de utilizarlo, se proporcionará uno nuevo junto al nuevo token de acceso.

5. Revoke Token

As an addional service, a revoke token service has been included. It allows to disable (revoke) an existing access token associated to an user.

The endpoint is:

Como servicio adicional, se incluye un servicio de revocación de token. Permite revocar un token de acceso asociado a un usuario determinado.

El endpoint será como este: https://

...

...

...

La petición debe incluir:

Headers:

  • Authorization: (cliente:secret en b64)
  • Content-Type: application/x-www-form-urlencoded

Query Param:

  • token: (token

...

  • de acceso a revocar)

...

En Postman:

Image Modified

...


El resultado indicará que el token de acceso ha dejado de ser válido.

Image Modified