Google+ 로그인에서 이전

범위 변경이 사용자에게 미치는 영향을 최소화하기 위한 단계

  1. 애플리케이션에서 인증된 사용자의 이메일 주소가 필요하며 이전에 이 목적으로 profile.emails.read를 사용한 적이 있다면 email를 대신 사용합니다.
  2. 승인된 인증 요청으로 profile.emails.read에 대한 승인을 받으세요. 인증을 위해 제출하려면 어떻게 해야 하나요?를 참고하세요.
  3. 삭제할 범위의 이전 사용자 토큰을 취소하거나 애플리케이션에 대한 액세스 권한을 완전히 삭제합니다. 예를 들어 profile.emails.read 액세스 권한이 있는 토큰은 취소해야 합니다. 사용자가 애플리케이션을 사용하는 동안 취소를 적용하여 즉시 사용자 동의를 받는 것이 좋습니다.
  4. 사용자에게 profile.emails.read 없이 새 범위(예: email)에 다시 동의하라는 메시지를 표시합니다.
  5. Google API OAuth 동의 화면 구성에서 단계적으로 제외될 범위를 삭제하세요.

앱을 Google+ 로그인에서 Google 로그인으로 이전하려면 로그인 버튼, 요청된 범위 및 Google에서 프로필 정보를 가져오는 방법에 관한 안내를 업데이트해야 합니다. 자세한 안내는 Android용 Google 로그인 문서를 참고하세요.

로그인 버튼을 업데이트할 때 G+를 언급하거나 빨간색을 사용하지 마세요. 업데이트된 브랜드 가이드라인을 준수합니다.

대부분의 Google+ 로그인 애플리케이션에서는 plus.login, plus.me, plus.profile.emails.read 등 일부 범위의 조합을 요청했습니다. GoogleSignInOptions.BuilderDEFAULT_SIGN_IN 옵션과 함께 사용하면 사용자의 이름과 프로필 사진을 제공하는 profile 범위를 자동으로 요청합니다. 사용자의 이메일 주소도 가져오려면 Google 로그인 옵션을 구성할 때 .requestEmail()를 호출해야 합니다.

Google+ 로그인을 구현한 많은 사용자가 코드 흐름을 사용했습니다. 즉, Android, iOS 또는 JavaScript 앱이 Google로부터 OAuth 승인 코드를 받으면 클라이언트는 교차 사이트 요청 위조 방지와 함께 이 코드를 서버로 다시 보냅니다. 그러면 서버는 코드의 유효성을 검사하고 people.get API에서 사용자 프로필 정보를 가져오기 위한 갱신 토큰과 액세스 토큰을 가져옵니다.

이제 ID 토큰을 요청하고 클라이언트에서 서버로 ID 토큰을 전송하는 것이 좋습니다. ID 토큰에는 교차 사이트 위조 방지 기능이 내장되어 있으며 서버에서 정적으로 확인할 수도 있으므로 Google 서버에서 사용자 프로필 정보를 가져오기 위한 추가 API 호출이 방지됩니다. 안내에 따라 서버에서 ID 토큰의 유효성을 검사합니다.

여전히 코드 흐름을 사용하여 프로필 정보를 가져올 수 있다면 그렇게 할 수 있습니다. 서버에 액세스 토큰이 있으면 로그인 검색 문서에 지정된 userinfo 엔드포인트에서 사용자 프로필 정보를 가져와야 합니다. API 응답은 Google+ 프로필 응답과 형식이 다르기 때문에 파싱을 새 형식으로 업데이트해야 합니다.

GoogleAuthUtil.getToken 또는 Plus.API를 사용 중인 경우 보안을 강화하고 더 나은 사용자 환경을 제공하려면 최신 Sign-In API로 migrate해야 합니다.