Hallo,
in den letzten Tagen versuche ich herauszufinden, wie OpenID in Verbindung mit Line funktioniert: https://developers.line.biz/en/reference/line-login/, also habe ich openid installiert.
Das OpenID Connect Discovery-Dokument für Line finden Sie hier:
https://access.line.me/.well-known/openid-configuration
Ich habe die OpenID-Profile und E-Mail-Scopes eingerichtet.
Laut line.biz befindet sich die E-Mail-Adresse im Token. Und bisher sieht alles gut aus, wenn ich in meine Protokolle schaue.
Ich habe die E-Mail-Adresse in der JWT-Datei erhalten, die aus dem Token extrahiert wurde.
wie:
OIDC Log: Verified JWT—
iss: https://access.line.me
sub: Uf3156a0081c563144b3
aud: ‘1657458025’
exp: 1662826967
iat: 1662823367
nonce: f5930aa4c2bd1b3807d
amr:
- linesso
email: example@example.com
Aber nach der Anfrage an https://api.line.me/oauth2/v2.1/userinfo
ist die E-Mail-Adresse nicht enthalten. Nur Name und die sub UserId.
Ein Blick in die Line-Dokumente unter userinfo scheint zu bestätigen, dass dies korrekt ist. Die userinfo enthält nicht die E-Mail.
Was kann ich also tun, um die E-Mail-Adresse in der JWT-Antwort zu extrahieren? Ich habe versucht, Claims zu verwenden, und vielleicht gibt es einen Weg, sie zu bekommen, den ich übersehe? Oder führt das ins Leere? Es macht mich schwindelig ![]()
Vielen Dank!
Bearbeiten:
Ich habe auf der OpenID-Plugin-Seite gelesen: openid
Wenn das Discovery-Dokument einen userinfo_endpoint-Parameter enthält, verwendet das Plugin diesen, um Benutzer-Metadaten zu sammeln. Wenn nicht, extrahiert das Plugin Metadaten aus dem id_token (ein JWT), der vom Token-Endpunkt bereitgestellt wird.
Eine Lösung wäre also, dem Plugin zu sagen, dass es den userinfo-Endpunkt nicht verwenden soll? Das wäre großartig. Aber wie kann ich das tun?