OAuth-based App Flip Linking (App Flip) allows your users to quickly link their accounts in your authentication system to their Google Accounts. If your app is installed on your user's phone when they initiate the account linking process, they are seamlessly flipped to your app to obtain user authorization.
This approach provides a faster linking process since the user does not have to re-enter their username and password to authenticate; instead, App Flip leverages the credentials from the user's account on your app. Once a user has linked their Google Account with your app, they can take advantage of any integrations that you have developed.
You can set up App Flip for both iOS and Android apps.
Requirements
To implement App Flip, you must fulfill the following requirements:
- You must have an Android or iOS app.
- You must own, manage and maintain an OAuth 2.0 server which supports the OAuth 2.0 authorization code flow.
OAuth-based App Flip Flow
The following sequence diagram details the interaction between the User, Google App, Your App, and Your Authorization Server for App Flip.
Roles and responsibilities
The following table defines the roles and responsibilities of the actors in the App Flip flow.
| Actor / Component | GAL Role | Responsibilities |
|---|---|---|
| Google App / Server | OAuth Client | Initiates the linking process, triggers a deep link to your mobile app, exchanges the authorization code for tokens, and securely stores them to access your service's APIs. |
| Your App | Authorization Agent | Authenticates the user (typically using existing app credentials), obtains consent, and retrieves an authorization code from your server. |
| Your Authorization Server | Authorization Server | Validates authorization codes and refresh tokens, and issues access tokens to the Google Server. |
Tasarım yönergeleri
Bu bölümde, Uygulama Değiştirme hesap bağlama izin ekranıyla ilgili tasarım şartları ve önerileri açıklanmaktadır. Google, uygulamanızı çağırdıktan sonra uygulamanız kullanıcıya izin ekranını gösterir.
Şartlar
- Kullanıcının hesabının Google'a bağlandığını, Google Home veya Google Asistan gibi belirli bir Google ürününe bağlanmadığını belirtmeniz gerekir.
Öneriler
Aşağıdakileri yapmanızı öneririz:
Google'ın Gizlilik Politikası'nı gösterin. Kullanıcı rızası ekranına Google'ın Gizlilik Politikası'nın bağlantısını ekleyin.
Paylaşılacak veriler. Google'ın hangi kullanıcı verilerine ve neden ihtiyaç duyduğunu kullanıcıya bildirmek için net ve kısa bir dil kullanın.
Net harekete geçirici mesaj. İzin ekranınızda "Kabul et ve bağla" gibi net bir harekete geçirici mesaj belirtin. Bunun nedeni, kullanıcıların hesaplarını bağlamak için Google ile hangi verileri paylaşmaları gerektiğini anlamalarıdır.
Reddetme veya iptal etme olanağı Kullanıcılara, bağlantı oluşturmayı tercih etmemeleri durumunda geri dönme, reddetme veya iptal etme olanağı tanıyın.
Bağlantıyı kaldırma özelliği. Kullanıcılara bağlantıyı kaldırma mekanizması sunun. Örneğin, platformunuzdaki hesap ayarlarına yönlendiren bir URL. Alternatif olarak, kullanıcıların bağlı hesaplarını yönetebileceği Google Hesabı'na bir bağlantı ekleyebilirsiniz.
Kullanıcı hesabını değiştirme Kullanıcılara hesaplarını değiştirmeleri için bir yöntem önerin. Bu özellik, özellikle kullanıcıların birden fazla hesabı olduğu durumlarda faydalıdır.
- Kullanıcının hesap değiştirmek için izin ekranını kapatması gerekiyorsa Google'a kurtarılabilir bir hata gönderin. Böylece kullanıcı, OAuth bağlantısı ve örtülü akışla istediği hesapta oturum açabilir.
Logonuzu ekleyin. İzin ekranında şirket logonuzu gösterin. Logonuzu yerleştirmek için stil kurallarınızı kullanın. Google'ın logosunu da göstermek istiyorsanız Logolar ve ticari markalar bölümüne bakın.
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ı
- Uygulama Değiştirme Test Aracı'nı açın.
- Uygulama Geçişi örnek uygulamanızı başlatmak için
Try Flip!tuşuna basın. - Örnek uygulamadaki radyo düğmelerinden bir yanıt seçin.
- Simüle edilmiş bir OAuth 2.0 yanıtını Test Aracı'na geri göndermek için
Sendtuşuna basın. - 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.