OpenID com line.biz - e-mail no JWT, ausente no userinfo

Olá,
Nos últimos dias, tenho tentado entender como o OpenID funciona em conjunto com o Line: https://developers.line.biz/en/reference/line-login/, então instalei o openid

O documento de descoberta do OpenID Connect para o Line está aqui:
https://access.line.me/.well-known/openid-configuration

Configurei os escopos openid e email.

De acordo com o line.biz, o endereço de e-mail está no token. E tudo parece ok até agora quando olho em meus logs.
Consegui o endereço de e-mail no arquivo JWT extraído do token
como:
Log OIDC: JWT verificado—
iss: https://access.line.me
sub: Uf3156a0081c563144b3
aud: ‘1657458025’
exp: 1662826967
iat: 1662823367
nonce: f5930aa4c2bd1b3807d
amr:

Mas depois de solicitar https://api.line.me/oauth2/v2.1/userinfo
O endereço de e-mail não está incluído. Apenas o nome e o ID de usuário sub.

Uma olhada nos documentos do Line em userinfo parece que isso está correto. O userinfo não inclui o e-mail.

Então, o que posso fazer para extrair o endereço de e-mail na resposta JWT? Tentei usar claims e talvez haja uma maneira de obtê-lo que eu esteja perdendo? Ou isso não vai dar em nada? . Isso me deixa tonto :slight_smile:

Obrigado!

Editar:
Li na página do Plugin OpenID: openid
Se o documento de descoberta incluir um parâmetro userinfo_endpoint, o plugin o usará para coletar metadados do usuário. Caso contrário, o plugin extrairá metadados do id_token (um JWT) fornecido pelo endpoint do token.

Portanto, uma solução seria dizer ao plugin para não usar o endpoint userinfo? Isso seria ótimo. Mas como posso fazer isso?

Ok, entendi. Talvez não seja a melhor solução, mas como o plugin usa os dados JWT se o endpoint userinfo não estiver disponível, eu fiz um fork do plugin no github e defini:\n\ndiscourse-openid-connect/lib/omniauth_open_id_connect.rb\n\nlinha 18 - option :use_userinfo, para false em vez de true.\n\nÉ isso.\n\nSeria bom ter uma opção nas configurações do plugin para escolher entre a resposta userinfo ou JWT.

1 curtida

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