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:
- linesso
email: example@example.com
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 ![]()
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?