1

OpenID Connect 인증에 관해서 매우 새로운 기능입니다! (또한 너무 OAuth2.0에 ..)OpenId JWT 서브 또는 이메일 연결

어쨌든 내 질문은,

"무엇 JWT의 필요한 사용자 데이터 것입니까?" ("sub"또는 "user-email"?)

Google에서 말하는 실제 의미는 무엇입니까? Google 계정의 이메일을 변경할 수는 없지 않습니까?

참고 : Google 계정의 이메일 주소가 변경 될 수 있으므로 사용자 식별에 사용하지 마십시오. 대신 getBasicProfile(). getId()를 사용하여 클라이언트에서 가져올 수있는 계정의 ID와 ID 토큰의 하위 클래임에서 백엔드로 사용하십시오.

답변

3

id_token에는 sub의 클레임이 필요하고, email은 선택 사항입니다 (http://openid.net/specs/openid-connect-core-1_0.html#IDToken 참조). 전자 메일 주소가 변경 될 수 있음을 언급하면서 sub은 변경해서는 안되며 귀하의 경우 Provider - Google을 나타내는 iss 클레임과 함께 사용할 경우 전역 고유 사용자 식별자를 얻는 데 사용할 수 있습니다.

+0

감사합니다. 그리고 id_token도 "exp"(만료 시간)이므로 RP에서 exp 시간이 끝나면 유효한 id_token도 새로 생깁니 까? 만료 시간에 대해 혼란스럽고 reflash 액세스 토큰처럼 ... –

+1

'exp'는 토큰 자체가 유효하지 않게되었을 때 더 이상 수신자가 수락하지 않아야한다고 말합니다. 처음에'id_token'을 받았을 때 RP가 시작한 세션과 반드시 ​​관련이있는 것은 아닙니다 –