Ciao,
negli ultimi giorni sto cercando di capire come funziona OpenID in congiunzione con Line: https://developers.line.biz/en/reference/line-login/, quindi ho installato openid
Il documento di discovery OpenID Connect per Line si trova qui:
https://access.line.me/.well-known/openid-configuration
Ho configurato gli scope openid profile ed email.
Secondo line.biz l’indirizzo email si trova nel token. E finora tutto sembra a posto quando guardo nei miei log.
Ho ottenuto l’indirizzo email nel file JWT estratto dal token
come:
Log OIDC: JWT verificato—
iss: https://access.line.me
sub: Uf3156a0081c563144b3
aud: ‘1657458025’
exp: 1662826967
iat: 1662823367
nonce: f5930aa4c2bd1b3807d
amr:
- linesso
email: example@example.com
Ma dopo aver richiesto https://api.line.me/oauth2/v2.1/userinfo
L’indirizzo email non è incluso. solo il nome e l’ID utente sub.
Uno sguardo alla documentazione di Line sotto userinfo sembra corretto. Userinfo non include l’email.
Quindi, cosa potrei fare per estrarre l’indirizzo email nella risposta JWT? Ho provato a usare le claims e forse c’è un modo per ottenerlo che mi sfugge? O è una strada senza uscita? Mi fa girare la testa ![]()
Grazie!
Modifica:
Ho letto sulla pagina del plugin OpenID: openid
Se il documento di discovery include un parametro userinfo_endpoint, allora il plugin lo userà per raccogliere i metadati dell’utente. In caso contrario, il plugin estrarrà i metadati dall’id_token (un JWT) fornito dall’endpoint del token.
Quindi una soluzione sarebbe dire al plugin di non usare l’endpoint userinfo? Sarebbe fantastico. Ma come potrei farlo?