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.

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.

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.