2

나는 google Oauth2 sign-in에 관한 문서를 읽고 있습니다.Google 로그인 문서에 대한 설명이 없음

여기에 혼란 부분 :

profile.getId에 저장하고 그것을 보낼 경우 어떤 일이 무슨
var profile = googleUser.getBasicProfile(); 
    console.log("ID: " + profile.getId()); // Don't send this directly to your server! 
    console.log('Full Name: ' + profile.getName()); 

?

대신 id_token에 저장되는 내용은 무엇입니까? 의견에 추천 대신 설명을 원합니다.

// The ID token you need to pass to your backend: 
    var id_token = googleUser.getAuthResponse().id_token; 

보너스 질문 : Google은 동일한 계정을 사용하여 I 로그 같은 id_token 모든 시간을 반환합니까?

답변

2

프로필 ID는 사용자를 나타내는 정적 문자열입니다. 서버에서 사용자의 서명에 서명하고 쿠키 또는 세션을 발급하는 경우 공격자가 사용자의 ID를 알면 서버에 대한 로그인 요청을 위조하여 사용자를 가장하여 데이터를 도용하거나 그들을 대신하여 거래를합니다.

반면에 ID 토큰에는 암호로 JSON Web Token이 서명되어 있습니다. 문서에 설명 된대로 토큰의 유효성을 검사하면 해당 토큰이 Google에서 제공되었으며 합법적 인 클라이언트 응용 프로그램에 발행되었음을 확신 할 수 있습니다. ID 토큰은 한 시간 후에 만료되고 새 토큰은 달라집니다.

설명서에는 이러한 보안 개념에 대한 일반적인 설명이 나와 있습니다. ID 토큰에 대한 설명은 video을 참조하십시오.

https://developers.google.com/identity/sign-in/web/backend-auth