OAuth tabanlı uygulama çevirme özelliğiyle Google Hesabı Bağlama

OAuth tabanlı uygulama değiştirerek bağlantı oluşturma (App Flip), kullanıcılarınızın kimlik doğrulama sisteminizdeki hesaplarını Google Hesaplarına hızlıca bağlamasına olanak tanır. Kullanıcılar hesap bağlantısı oluşturma sürecini başlattığında uygulamanız telefonlarında yüklüyse kullanıcı yetkisi almak için sorunsuz bir şekilde uygulamanıza yönlendirilirler.

Bu yaklaşım, kullanıcının kimliğini doğrulamak için kullanıcı adını ve şifresini yeniden girmesi gerekmediğinden daha hızlı bir bağlantı oluşturma süreci sağlar. Bunun yerine, uygulama geçişi, kullanıcının uygulamanızdaki hesabının kimlik bilgilerini kullanır. Kullanıcı, Google Hesabı'nı uygulamanıza bağladıktan sonra geliştirdiğiniz tüm entegrasyonlardan yararlanabilir.

Uygulama bağlama özelliğini hem iOS hem de Android uygulamaları için ayarlayabilirsiniz.

Bu şekilde, kullanıcının Google Hesabı'nı kimlik doğrulama sisteminize bağlama adımları gösterilmektedir. İlk ekran görüntüsünde, kullanıcının Google Hesabı uygulamanıza bağlıysa uygulamanızı nasıl seçebileceği gösteriliyor. İkinci ekran görüntüsünde, kullanıcının Google Hesabı'nı uygulamanıza bağlama onayı gösteriliyor. Üçüncü ekran görüntüsünde ise Google uygulamasında başarıyla bağlanmış bir kullanıcı hesabı gösteriliyor.
Şekil 1. Uygulama Geçişi ile kullanıcının telefonunda hesap bağlama.

Şartlar

Uygulama Geçişi'ni uygulamak için aşağıdaki koşulları karşılamanız gerekir:

  • Android veya iOS uygulamanız olmalıdır.
  • OAuth 2.0 yetkilendirme kodu akışını destekleyen bir OAuth 2.0 sunucusuna sahip olmanız, bu sunucuyu yönetmeniz ve bakımını yapmanız gerekir.

OAuth tabanlı uygulama değiştirme akışı

Aşağıdaki sıra şeması, Uygulama Geçişi için Kullanıcı, Google Uygulaması, Uygulamanız ve Yetkilendirme Sunucunuz arasındaki etkileşimi ayrıntılı olarak açıklar.

Kullanıcı Google Uygulaması Uygulamanız Google Sunucusu Yetkilendirme Sunucunuz Sunucunuz 1. Bağlantı oluşturma işlemini başlatır 2. Uygulamanıza Derin Bağlantı Oluşturma 3. İzin ekranını göster 4. Kullanıcı İzni Veriyor 5. Yetkilendirme kodu alma 6. authorization_code 7. Google uygulamasına dönün 8. Google sunucusuna geçiş kodu 9. Token Exchange (POST) 10. access_token, refresh_token 11. Kullanıcı jetonlarını saklama 12. Kullanıcı kaynaklarına erişme
Şekil 2. Uygulama geçişi akışındaki etkinlik sırası. Yetkilendirme kodu sağlanırsa jeton değişimi, tarayıcı tabanlı OAuth bağlama akışında olduğu gibi sunucudan sunucuya gerçekleşir.

Roller ve sorumluluklar

Aşağıdaki tabloda, uygulama geçişi akışındaki aktörlerin rolleri ve sorumlulukları tanımlanmaktadır.

İşlemi gerçekleştiren / Bileşen GAL Rolü Sorumluluklar
Google Uygulaması / Sunucusu OAuth İstemcisi Bağlantı oluşturma sürecini başlatır, mobil uygulamanıza derin bağlantı tetikler, yetkilendirme kodunu jetonlarla değiştirir ve hizmetinizin API'lerine erişmek için bunları güvenli bir şekilde saklar.
Uygulamanız Yetkilendirme Aracısı Kullanıcının kimliğini doğrular (genellikle mevcut uygulama kimlik bilgilerini kullanarak), izin alır ve sunucunuzdan bir yetkilendirme kodu alır.
Yetkilendirme Sunucunuz Yetkilendirme Sunucusu Yetkilendirme kodlarını ve yenileme jetonlarını doğrular ve Google sunucusuna erişim jetonları verir.

设计准则

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

要求

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

建议

建议您执行以下操作:

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

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

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

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

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

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

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

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

Uygulamalarınızda Uygulama Değiştirme'yi 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.

Android uygulamanızda Uygulama Geçişi'ni desteklemek için Android uygulama kılavuzundaki talimatları uygulayın.

iOS uygulamanızda Uygulama Geçişi'ni desteklemek için iOS uygulama kılavuzundaki talimatları uygulayın.

Uygulama bağlama özelliğini test etme

Uygulama Geçişi, doğrulanmış üretim uygulamaları ve çalışan bir OAuth 2.0 sunucusu kullanıma sunulmadan önce örnek ve test uygulamaları kullanılarak simüle edilebilir.

Uygulama bağlama sırasında bir Google Uygulaması önce uygulamanızı açar. Ardından, OAuth 2.0 sunucunuzdan bir yetkilendirme kodu yanıtı istenir. Son adımda yanıt, Google Uygulamasına döndürülür.

Ön koşullar

Bir Google Uygulaması'nı simüle etmek ve uygulamanızı başlatan intent'i tetiklemek için Android ve iOS için Uygulama Bağlama Test Aracı'nı indirip yükleyin.

Uygulamanızı simüle etmek ve bir OAuth 2.0 yanıt türü seçmek için Android ve iOS için Uygulama Geçişi Örneği'ni indirip yükleyin.

Test sırası

  1. Uygulama Değiştirme Test Aracı'nı açın.
  2. Uygulama Geçişi örnek uygulamanızı başlatmak için Try Flip! tuşuna basın.
  3. Örnek uygulamadaki radyo düğmelerinden bir yanıt seçin.
  4. Simüle edilmiş bir OAuth 2.0 yanıtını Test Aracı'na geri göndermek için Send tuşuna basın.
  5. Yetkilendirme kodu veya hata ayrıntıları için Test Aracı günlük mesajlarını kontrol edin.

Üretim testi

Uygulama Geçişi, kayıt ve OAuth 2.0 sunucunuzun uygulanması tamamlandıktan sonra üretimde test edilebilir.

Otomatik test için tek bir Google Hesabı ve göreve özel bir e-posta adresi kullanmanız önerilir.

Hesap bağlantısı durumu, Google Hesabı sahibi olarak oturum açıldığında Bağlı hesaplar kullanılarak görüntülenebilir. Hesapların bağlantısı, tekrarlanan testler arasında buradan da kaldırılabilir.

İsteğe bağlı olarak, RISC'yi uygulayarak programatik olarak bağlantıyı kaldırabilir ve Google'ı değişiklikten haberdar edebilirsiniz.