0% encontró este documento útil (0 votos)
37 vistas3 páginas

Implementación de Resource Owner Password Grant

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
37 vistas3 páginas

Implementación de Resource Owner Password Grant

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Curso de Autenticación con OAuth

Implementando
Artículo

Resource Owner Password


Grant
glrodasz
3 de Diciembre de 2018

Aplicaciones altamente confiables pueden usar este flujo, ya que en este flujo se le
pregunta al usuario final llenar sus credenciales (usuario/contraseña) con un formulario
interactivo y luego la información es enviada al authorization server.

Usa este flujo solo si lo siguiente aplica:


 Se le puede confiar absolutamente a la aplicación las credenciales del usuario. Para
aplicaciones del lado del cliente o aplicaciones mobile se recomienda usar otros
flujos.
 Un flujo basado en redireccionamiento no es posible debido a que es una apliación
legada. Si el redireccionamiento es posible se recomienda usar mejor Authorization
Code Grant.

Conociendo el flujo
La definición de Resource Owner Password Grant puede ser encontrada
en [Link]
1. El usuario final ingresa sus credenciales en la aplicación (cliente) mediante un
formulario.
2. La aplicación envía las credenciales al Authorization Server.
3. El Authorization Server valida las credenciales y devuelve un Access Token.
4. La aplicacion ahora puede usar el Access Token para llamar la API en nombre del
usuario.

Detalles de implementación
Para su implementación se debe implementar de parte de la aplicación un formulario
que tome las credenciales del usuario y luego pueda hacer una petición al Authorization
Server. Es sumamente importante que esto suceda en una conexión segura HTTPS.
1. La aplicación obtiene las credenciales desde el formulario.
2. La aplicación hace una petición al Authorization Server.
const request = require("request");

const options = {
method: "POST",
url: "[Link]
headers: { "content-type": "application/json" },
body: {
grant_type: "password",
username: "<username>",
password: "<password>",
audience: "<your-audience>",
scope: "<your-scopes>",
client_id: "<your-client-id>",
client_secret: "<your-client-secret>"
},
json: true
};

request(options, function(error, response, body) {


if (error) {
throw new Error(error);
}
[Link](body);
});
3. La respuesta tiene un JSON Web Token, generalmente de tipo Bearer incluyendo el
tiempo de expiración.
{
"access_token": "eyJz93a...k4laUWw",
"token_type": "Bearer",
"expires_in": 36000
}
4. La aplicación ya puede usar el JSON Web Token para hacer peticiones a los recursos
del usuario (API) en nombre de él.
const request = require("request");

const options = {
method: "GET",
url: "[Link]
headers: {
authorization: "Bearer <access-token>",
"content-type": "application/json"
}
};

request(options, function(error, response, body) {


if (error) throw new Error(error);

[Link](body);
});

Con esto tenemos los conocimientos necesarios para poder implementar este flujo.
Recuerda seguir las recomendaciones para darle un uso adecuado.

También podría gustarte