Features | Open Source | Releases | Docs | Try us free | Blog | Product
Autenticación OAuth2 en Plataforma con OAuth2 Server
La plataforma incluye un servidor de Autenticación basado en OAuth2 que permite a los usuarios autenticarse en la plataforma.
Es el método de autenticación recomendado para realizar autenticación contra plataforma (Oauth Server), Implementa el estandar OAuth e incluye todo el ciclo de gestión de Tokens. Además posibilita la utilización de los Dominios de Seguridad (Realms) integrados con dicha gestión.
Para ampliar la información se puede consulta la siguiente entrada:
(Security) (ES) Gestión de tokens en autenticación OAuth2
Como introducción básica, a continuación se incluye el ejemplo de generación de un Token OAuth2 para un usuario:
GENERACION DE TOKEN UTILIZANDO SERVIDOR OAUTH2
El endpoint que permite generar tokens Oauth2 se correspondería con:
https://<myserver>/oauth-server/oauth/token
Utilizaremos el entorno de plataforma desplegado en nuestro cloudlab para mostrar los ejemplos:
https://lab.onesaitplatform.com/oauth-server/oauth/token
Será una petición POST, y debe incluir:
- Headers:
- Authorization: (onesaitplatform:onesaitplatform en base64) Son las credenciales por defecto de la plataforma.
- Body:
- grant_type: password (para peticiones User/Password)
- username: id de usuario
- password: contraseña de usuario
Utilizando Postman para realizar esta petición:
La respuesta tendrá esté formato:
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 (genéricos de plataforma al utilizar la autenticación por defecto)
AUTENTICACIÓN UTILIZANDO EL SERVICIO DE LOGIN DEL PANEL DE CONTROL
Además de la utilización de token genérico OAuth2, se proporciona la posibilidad de autenticarnos a través del panel de control de la plataforma utilizando identificador de usuario y contraseña. Esta implementación se utilizará para pruebas sencillas y validaciones simples de usuarios.
El endpoint que se expone es el siguiente:
https://<myserver>/controlpanel/swagger-ui.html#/Login_Oauth_service
Utilizaremos el entorno de plataforma desplegado en nuestro CloudLab para mostrar los ejemplos:
https://lab.onesaitplatform.com/controlpanel/swagger-ui.html#/Login_Oauth_service
Se trata de una petición POST, y debe incluir:
- Body: (json)
- username: id de usuario
- password: contraseña de usuario
- vertical (Opcional - si se usara multitenancy)
Un ejemplo sería:
{"username": "developer",
"password": "XXXXXX"}
La petición quedaría
El resultado incluiría información del usuario en plataforma (y los roles por defecto con los que cuenta).