OAuth 기반 앱 플립으로 Google 계정 연결

OAuth 기반 앱 플립 연결 (앱 플립)을 사용하면 사용자가 인증 시스템의 계정을 Google 계정에 빠르게 연결할 수 있습니다. 사용자가 계정 연결 프로세스를 시작할 때 사용자의 휴대전화에 앱이 설치되어 있으면 사용자 승인을 받기 위해 앱으로 원활하게 전환됩니다.

이 접근 방식은 사용자가 인증을 위해 사용자 이름과 비밀번호를 다시 입력할 필요가 없으므로 연결 프로세스가 더 빠릅니다. 대신 앱 플립은 앱의 사용자 계정에서 사용자 인증 정보를 활용합니다. 사용자가 Google 계정을 앱에 연결하면 개발한 모든 통합을 활용할 수 있습니다.

iOS 및 Android 앱 모두에 앱 플립을 설정할 수 있습니다.

이 그림은 사용자가 Google 계정을 인증 시스템에 연결하는 단계를 보여줍니다. 첫 번째 스크린샷은 사용자의 Google 계정이 앱에 연결된 경우 사용자가 앱을 선택하는 방법을 보여줍니다. 두 번째 스크린샷은 Google 계정을 앱에 연결하는 확인을 보여줍니다. 세 번째 스크린샷은 Google 앱에서 연결된 사용자 계정을 보여줍니다.
그림 1. 앱 플립을 사용하여 사용자 휴대전화에서 계정 연결

요구사항

앱 플립을 구현하려면 다음 요구사항을 충족해야 합니다.

  • Android 또는 iOS 앱이 있어야 합니다.
  • OAuth 2.0 승인 코드 흐름을 지원하는 OAuth 2.0 서버를 소유, 관리, 유지보수해야 합니다.

OAuth 기반 앱 플립 흐름

다음 시퀀스 다이어그램은 앱 플립을 위한 사용자, Google 앱, 내 앱, 내 승인 서버 간의 상호작용을 자세히 설명합니다.

사용자 Google 앱 내 앱 Google 서버 내 인증 서버 1. 연결 시작 2. 내 앱으로 연결되는 딥 링크 3. 동의 화면 표시 4. 사용자 동의 부여 5. 인증 코드 가져오기 6. authorization_code 7. Google 앱으로 돌아가기 8. Google 서버에 코드 전달 9. 토큰 교환 (POST) 10. access_token, refresh_token 11. 사용자 토큰 저장 12. 사용자 리소스 액세스
그림 2. 앱 플립 흐름의 이벤트 순서 승인 코드가 제공되면 토큰 교환은 서버 간에 이루어지며, 브라우저 기반 OAuth 연결 흐름에서와 마찬가지로 이루어집니다.

역할 및 책임

다음 표에서는 앱 플립 흐름에서 작업 수행자의 역할과 책임을 정의합니다.

작업 수행자 / 구성요소 GAL 역할 책임
Google 앱 / 서버 OAuth 클라이언트 연결 프로세스를 시작하고, 모바일 앱으로 연결되는 딥 링크를 트리거하고, 토큰에 대한 승인 코드를 교환하고, 서비스의 API에 액세스하기 위해 안전하게 저장합니다.
내 앱 승인 에이전트 사용자를 인증하고 (일반적으로 기존 앱 사용자 인증 정보 사용), 동의를 얻고, 서버에서 승인 코드를 검색합니다.
내 승인 서버 승인 서버 승인 코드 및 갱신 토큰의 유효성을 검사하고 Google 서버에 액세스 토큰을 발급합니다.

设计准则

本部分介绍了应用翻转账号关联同意屏幕的设计要求和建议。在 Google 调用您的应用后,您的应用会向用户显示同意屏幕。

要求

  1. 您必须告知用户,其账号将与 Google 关联,而非与 Google Home 或 Google 助理等特定 Google 产品关联。

建议

建议您执行以下操作:

  1. 显示 Google 的隐私权政策。在意见征求屏幕上添加指向 Google 隐私权政策的链接。

  2. 要分享的数据。使用简洁明了的语言告知用户 Google 需要哪些用户数据以及原因。

  3. 明确的号召性用语。在同意屏幕上提供清晰的号召性用语,例如“同意并关联”。这是因为用户需要了解他们必须与 Google 分享哪些数据才能关联其账号。

  4. 能够拒绝或取消。如果用户选择不关联,请提供一种供用户返回、拒绝或取消的方式。

  5. 能够解除关联。提供一种可供用户取消关联的机制,例如指向您平台上的账号设置的网址。或者,您也可以添加指向 Google 账号的链接,以便用户管理其关联的账号。

  6. 能够更改用户账号。建议用户切换账号的方法。如果用户倾向于使用多个账号,此功能尤其有用。

    • 如果用户必须关闭同意屏幕才能切换账号,请向 Google 发送可恢复的错误,以便用户可以通过 OAuth 关联隐式流程登录所需账号。
  7. 添加您的徽标。在权限请求页面上显示公司徽标。 根据样式指南放置徽标。如果您还想显示 Google 的徽标,请参阅徽标和商标

此图显示了一个同意屏幕示例,其中包含在设计用户同意屏幕时应遵循的各项要求和建议。
图 2. 账号关联意见征求界面设计指南。

앱에서 앱 전환 구현

앱 전환을 구현하려면 Google의 딥 링크를 수락하도록 앱에서 사용자 승인 코드를 수정해야 합니다.

Android 앱에서 앱 전환을 지원하려면 Android 구현 가이드의 안내를 따르세요.

iOS 앱에서 앱 전환을 지원하려면 iOS 구현 가이드의 안내를 따르세요.

앱 전환 테스트

검증된 프로덕션 앱과 작동하는 OAuth 2.0 서버를 사용할 수 있기 전에 샘플 및 테스트 앱을 사용하여 앱 전환을 시뮬레이션할 수 있습니다.

앱 전환 중에 Google 앱이 먼저 앱을 열고 앱이 OAuth 2.0 서버에서 승인 코드 응답을 요청합니다. 마지막 단계에서 응답이 Google 앱으로 반환됩니다.

기본 요건

Google 앱을 시뮬레이션하고 앱을 실행하는 인텐트를 트리거하려면 다음에서 앱 전환 테스트 도구를 다운로드하여 설치하세요. AndroidiOS.

iOS

테스트 시퀀스

  1. 앱 전환 테스트 도구를 엽니다.
  2. Try Flip!을 눌러 앱 전환 샘플 앱을 실행합니다.
  3. 샘플 앱의 라디오 버튼에서 응답을 선택합니다.
  4. Send를 눌러 시뮬레이션된 OAuth 2.0 응답을 테스트 도구로 다시 반환합니다.
  5. 테스트 도구 로그 메시지에서 auth_code 또는 오류 세부정보를 확인합니다.

프로덕션 테스트

등록 및 OAuth 2.0 서버 구현을 완료한 후 프로덕션에서 앱 전환을 테스트할 수 있습니다.

자동화된 테스트에는 단일 Google 계정과 작업별 이메일 주소 를 사용하는 것이 좋습니다.

Google 계정 소유자로 로그인하면 연결된 계정을 사용하여 계정 연결 상태를 볼 수 있습니다. 여기에서 반복 테스트 간에 계정 연결을 해제할 수도 있습니다.

선택적으로 RISC를 구현하여 프로그래매틱 방식으로 연결을 해제하고 Google에 변경사항을 알릴 수 있습니다.