OpenID con line.biz - correo electrónico en JWT, falta en userinfo

Hola,
en los últimos días he estado tratando de entender cómo funciona OpenID junto con Line: https://developers.line.biz/en/reference/line-login/, así que instalé openid

El documento de descubrimiento de OpenID Connect para Line se encuentra aquí:
https://access.line.me/.well-known/openid-configuration

Configuré los ámbitos de perfil y correo electrónico de openid.

Según line.biz, la dirección de correo electrónico está en el token. Y todo parece estar bien hasta ahora cuando miro mis registros.
Obtuve la dirección de correo electrónico en el archivo JWT extraído del token
como:
Registro OIDC: JWT verificado—
iss: https://access.line.me
sub: Uf3156a0081c563144b3
aud: ‘1657458025’
exp: 1662826967
iat: 1662823367
nonce: f5930aa4c2bd1b3807d
amr:

Pero después de solicitar https://api.line.me/oauth2/v2.1/userinfo
La dirección de correo electrónico no está incluida. Solo el nombre y el ID de usuario sub.

Un vistazo a los documentos de Line bajo userinfo parece que esto es correcto. El userinfo no incluye el correo electrónico.

Entonces, ¿qué podría hacer para extraer la dirección de correo electrónico en la respuesta JWT? Intenté usar claims y tal vez hay una manera de obtenerlo que me estoy perdiendo. ¿O eso no va a ninguna parte? Me da mareos :slight_smile:

¡Gracias!

Editar:
Leí en la página del plugin OpenID: openid
Si el documento de descubrimiento incluye un parámetro userinfo_endpoint, entonces el plugin lo usará para recopilar metadatos del usuario. Si no, el plugin extraerá los metadatos del id_token (un JWT) proporcionado por el endpoint del token.

Entonces, una solución sería decirle al plugin que no use el endpoint de userinfo. Eso sería genial. Pero, ¿cómo podría hacer eso?

Ok, lo entiendo. Quizás no sea la mejor solución, pero como el plugin utiliza los datos JWT si el endpoint de userinfo no está disponible, he bifurcado el plugin en github y he establecido:\n\ndiscourse-openid-connect/lib/omniauth_open_id_connect.rb\n\nlínea 18 - option :use_userinfo, a false en lugar de true.\n\nEso es todo.\n\nSería bueno tener una opción en la configuración del plugin para elegir entre la respuesta de userinfo o JWT.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.