Genel bakış

基于 OAuth 的应用快速关联 (App Flip) 关联功能可让用户快速将其在您的身份验证系统中的账号关联到其 Google 账号。 如果用户在发起账户关联过程时手机上已安装您的应用,系统会顺畅地将他们转到您的应用以获取用户授权。

这种方法可提供更快的账户关联过程,因为用户无需重新输入用户名和密码进行身份验证;相反,App Flip 会利用用户在您的应用中的账号凭据。用户将其 Google 账号与您的应用关联后,便可利用您开发的任何集成。

您可以为 iOS 和 Android 应用设置 App Flip。

此图显示了用户将其 Google 账号与您的身份验证系统相关联的步骤。第一张屏幕截图显示了用户如何选择您的应用(如果其 Google 账号已与您的应用相关联)。第二张屏幕截图显示了用户将其 Google 账号与您的应用相关联的确认信息。第三张屏幕截图显示了 Google 应用中已成功关联的用户账号。
图 1.用户手机上使用 App Flip 进行账号关联。

要求

如需实现 App Flip,您必须满足以下要求:

  • 您必须拥有 Android 或 iOS 应用。
  • 您必须拥有、管理和维护支持 OAuth 2.0 授权代码流程的 OAuth 2.0 服务器。

基于 OAuth 的 App Flip 流程

以下序列图详细说明了用户、Google 应用、您的应用和您的授权服务器之间针对 App Flip 的交互。

用户 Google 应用 您的应用 Google 服务器 您的授权 服务器 1. 发起关联 2. 深层链接到您的应用 3. 显示意见征求屏幕 4. 用户授予意见征求 5. 获取授权代码 6. authorization_code 7. 返回到 Google 应用 8. 将代码传递给 Google 服务器 9. 令牌交换 (POST) 10. access_token, refresh_token 11. 存储用户令牌 12. 访问用户资源
图 2.App Flip 流程中的事件序列。 如果提供了授权代码,则令牌交换将以 服务器到服务器的方式进行,与基于浏览器的 OAuth 关联流程中的方式相同。

角色和职责

下表定义了 App Flip 流程中执行者的角色和职责。

执行者 / 组件 GAL 角色 职责
Google 应用 / 服务器 OAuth 客户端 发起账户关联过程,触发到您的移动应用深层链接,将授权代码交换为令牌,并安全地存储这些令牌以访问您服务的 API。
您的应用 授权代理 对用户进行身份验证(通常使用现有应用凭据), 获取意见征求,并从您的服务器检索授权代码。
您的授权服务器 授权服务器 验证授权代码和刷新令牌,并向 Google 服务器颁发访问 令牌。

OAuth bağlama yetkilendirme kodu akışı hakkında daha fazla bilgi için OAuth sunucunuzu uygulama başlıklı makaleyi inceleyin.

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.

Requirements

  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.

Recommendations

We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to deny or cancel. Provide a way for users to go back, deny, or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

OAuth tabanlı uygulama geçişi için ayarlama

Aşağıdaki bölümlerde, OAuth tabanlı uygulama geçişi için ön koşullar ve İşlemler Console'da uygulama geçişi projenizi nasıl yapılandıracağınız açıklanmaktadır.

Bir Action oluşturun ve OAuth 2.0 sunucusu kurun

Uygulama Geçişi'ni yapılandırabilmeniz için aşağıdakileri yapmanız gerekir:

  • Eylem oluşturun. İşlem oluşturmak için Proje oluşturma bölümündeki talimatları uygulayın.
  • OAuth 2.0 sunucusu kurun. OAuth sunucusu oluşturma hakkında daha fazla bilgi için OAuth hesap bağlamayı uygulama başlıklı makaleyi inceleyin.

İşlemler Konsolu'nda Uygulama Geçişi'ni yapılandırma

Aşağıdaki bölümde, İşlemler Konsolu'nda Uygulama Geçişi'ni nasıl yapılandıracağınız açıklanmaktadır.

  1. Üst gezinme menüsünde Geliştir'i tıklayın. Ardından, sol gezinme bölmesinde Hesap bağlama'yı tıklayın.
  2. Hesap bağlama'nın yanındaki anahtarı açın.
  3. Hesap oluşturma bölümünde Hayır, yalnızca web sitemde hesap oluşturmaya izin vermek istiyorum'u seçin.
  4. İleri'yi tıklayın.
  5. Bağlantı türü bölümünde, açılır menülerden OAuth ve Yetkilendirme kodu'nu seçin.
  6. İleri'yi tıklayın.
  7. OAuth istemci bilgileri bölümündeki tüm alanları doldurun. (Uygulama Geçişi desteklenmiyorsa yedek olarak normal OAuth kullanılır.)
  8. İleri'yi tıklayın.
  9. Hesap bağlama için uygulamanızı kullanın (isteğe bağlı) bölümünde iOS için etkinleştir'i işaretleyin.
  10. Geçiş bağlantısı alanını doldurun. Evrensel bağlantılar hakkında daha fazla bilgi için Uygulamaların ve Web Sitelerinin İçeriğinize Bağlanmasına İzin Verme başlıklı makaleyi inceleyin.
  11. İstemcinizi isteğe bağlı olarak yapılandırmak istiyorsanız kapsamlar ekleyin ve İstemcinizi yapılandırın (isteğe bağlı) bölümünde Kapsam ekle'yi tıklayın. Açık değilse Sonraki'yi tıklayın.
  12. Test talimatları bölümünde yer tutucu olarak test (veya başka bir dize) yazın. (Bu alanı bir test hesabıyla doldurmanız yalnızca işleminizi yayınlanmak üzere gönderiyorsanız gereklidir.)
  13. Kaydet'i tıklayın.

Artık iOS veya Android uygulamanızda Uygulama Geçişi'ni uygulamak için bir sonraki bölüme geçebilirsiniz.

Yerel uygulamalarınızda Uygulama Geçişi'ni uygulama

Uygulama Geçişi'ni uygulamak için uygulamanızdaki kullanıcı yetkilendirme kodunu, Google'dan gelen derin bağlantıyı kabul edecek şekilde değiştirmeniz gerekir.

Cihazınızda Uygulama Geçişi'ni test etme

Bir işlem oluşturup konsolda ve uygulamanızda Uygulama Geçişi'ni yapılandırdığınıza göre artık mobil cihazınızda Uygulama Geçişi'ni test edebilirsiniz. Uygulama Geçişi'ni test etmek için Google Asistan uygulamasını kullanabilirsiniz.

Uygulama Geçişi özelliğini Asistan uygulamasında test etmek için aşağıdaki adımları uygulayın:

  1. Actions Console'a gidip projenizi seçin.
  2. Üst gezinme menüsünde Test'i tıklayın.
  3. Hesap bağlama akışını Asistan uygulamasından tetikleme:
    1. Google Asistan uygulamasını açın.
    2. Ayarlar'ı tıklayın.
    3. Asistan sekmesinde Ev Kontrolü'nü tıklayın.
    4. Ekle(+) seçeneğini tıklayın.
    5. Sağlayıcılar listesinden işleminizi seçin. Listede "[test]" önekiyle gösterilir. Listeden [test] işleminizi seçtiğinizde uygulamanız açılır.
    6. Uygulamanızın başlatıldığını doğrulayın ve yetkilendirme akışınızı test etmeye başlayın.