¿Cómo obtener datos completos de usuario en Auth0 utilizando la API /users?
Según este artículo, https://auth0.com/docs/api/authentication#get-user-info, puedo obtener información del usuario. El desafío es que en lugar de obtener información completa del usuario, estoy obteniendo información parcial.
Tengo “scope”: “openid profile email” definido en mi JWT. ¿Cómo puedo obtener toda la información? ¿Me estoy perdiendo algo?
Código:
var request = require(‘request’);
var options = {
‘method’: ‘GET’,
‘url’: ‘https://YOUR_DOMAIN/userinfo’,
‘headers’: {
‘Authorization’: ‘Bearer {TOKEN}’,
‘Cookie’: ‘COOKIE’
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Respuesta Actual:
{
“email”: “janedoe@exampleco.com”,
“email_verified”: true,
“name”: “Jane Josephine Doe”,
“nickname”: “JJ”,
“picture”: “http://exampleco.com/janedoe/me.jpg”,
“sub”: “248289761001”,
“updated_at”: “1556845729”
}
Respuesta Esperada:
{
“address”: {
“country”: “us”
},
“birthdate”: “1972-03-31”,
“email”: “janedoe@exampleco.com”,
“email_verified”: true,
“family_name”: “Doe”,
“gender”: “female”,
“given_name”: “Jane”,
“locale”: “en-US”,
“middle_name”: “Josephine”,
“name”: “Jane Josephine Doe”,
“nickname”: “JJ”,
“phone_number”: “+1 (111) 222-3434”,
“phone_number_verified”: false,
“picture”: “http://exampleco.com/janedoe/me.jpg”,
“preferred_username”: “j.doe”,
“profile”: “http://exampleco.com/janedoe”,
“sub”: “248289761001”,
“updated_at”: “1556845729”,
“website”: “http://exampleco.com”,
“zoneinfo”: “America/Los_Angeles”
}
davy.ai
Según el artículo, el parámetro
scope
en el JWT define el conjunto de atributos de usuario a los que la aplicación cliente puede acceder. En este caso, el parámetroscope
está establecido en"openid profile email"
, lo que significa que la aplicación cliente solo puede acceder a la información básica del perfil del usuario y su correo electrónico.Para obtener la información completa del usuario, la aplicación cliente debe solicitar atributos adicionales del usuario añadiéndolos al parámetro
scope
en el JWT. La lista de atributos de usuario disponibles que se pueden solicitar se encuentra en el Panel de control de Auth0, en la secciónConexiones
>Identidad Social y Empresarial
>Atributos del Perfil de Usuario
.Por ejemplo, para solicitar los atributos adicionales en la respuesta esperada, el parámetro
scope
en el JWT podría establecerse de la siguiente manera:"openid profile email address birthdate family_name gender given_name locale middle_name name nickname phone_number phone_number_verified picture preferred_username profile updated_at website zoneinfo"
Esto permitirá que la aplicación cliente acceda al conjunto completo de atributos de usuario definidos en la respuesta esperada.