iOS'te Google ile Oturum Açma için Uygulama Kontrolü'nü kullanmaya başlama

Bu sayfada, bir iOS uygulamasında Uygulama Kontrolü'nün nasıl etkinleştirileceği gösterilmektedir. Uygulama Kontrolü'nü etkinleştirdiğinizde, projeniz adına Google'ın OAuth 2.0 uç noktalarına yalnızca uygulamanızın erişebildiğinden emin olabilirsiniz. Bu özelliğe Genel Bakış'ı inceleyin.

Uygulama Kontrolü, OAuth 2.0 isteklerinin gerçek uygulamanızdan geldiğini doğrulamaya yardımcı olmak için App Attest'i kullanır. Uygulama Kontrolü, sahtekarlık riskini analiz etmek için App Attest'i kullanmaz.

Başlamadan önce

  1. Xcode 12.5 veya daha yeni bir sürüme sahip olduğunuzdan emin olun.

  2. Google ile Oturum Açma kitaplığını kullanarak Google ile Oturum Açma'yı iOS uygulamanıza entegre edin.

1. Projenizi oluşturun

  1. Google ile Oturum Açma ile Uygulama Kontrolü'nü kullanmak için bir Firebase projeniz olmalıdır.

    • Uygulamanızda Firebase halihazırda kullanılıyorsa aynı projeyi kullanın.

    • Uygulamanız Google ile Oturum Açma özelliğini kullanıyor ancak Firebase kullanmıyorsa zaten bir Google Cloud projeniz vardır. Firebase konsolunda yeni bir proje oluştururken Firebase'i Google Cloud projenize ekleyerek bu projeyi seçin

    Ayrıca bkz. Firebase projeleri ile Google Cloud arasındaki ilişki

  2. Henüz yapmadıysanız Firebase konsolunun Proje ayarları sayfasını kullanarak iOS uygulamalarınızı Firebase projenize ekleyin.

  3. Uygulama Kontrolü özelliğini, Firebase konsolunun Uygulama Kontrolü bölümünde App Attest sağlayıcısıyla kullanmak için uygulamalarınızı kaydedin.

  4. Projenizin tüm OAuth istemcilerinin bir uygulamaya bağlı olduğundan emin olun.

    İstemcilerin bağlantısını kaldırdıysanız Uygulama Kontrolü sayfasının iOS için Google Kimliği bölümünde n ek kurulum gerektiren OAuth istemciniz var şeklinde bir mesaj görürsünüz.

    Ayrıca, Uygulama Kontrolü'nde ayarladıktan sonra bazı OAuth istemcilerini sildiyseniz Eşleşmeyen OAuth istemcisi olan n geçersiz kılma işleminiz var şeklinde bir mesaj görürsünüz. Bu geçersiz kılmaları silerek bunları güvenle temizleyebilirsiniz.

    Firebase konsolunun OAuth istemcileri sayfasında bağlantısı kaldırılan istemcileri mevcut veya yeni bir uygulamaya bağlayabilirsiniz.

2. Beta Google ile Oturum Açma kitaplığını uygulamanıza ekleme

  1. Xcode projenizde, Google ile Oturum Açma bağımlılığını 7.1.0-fac-beta-1.1.0 sürümüne ayarlayın:

    SPM : Stratejik İş Ortağı Yöneticisi

    googlesignin-ios bağımlılık kuralını tam olarak şu sürüme ayarlayın: 7.1.0-fac-beta-1.1.0.

    CocoaPods

    Podfile öğenizi güncelleyin:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn',
          :git => 'https://github.com/google/GoogleSignIn-iOS.git',
          :tag => '7.1.0-fac-beta-1.1.0'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    Ardından, pod install komutunu çalıştırın ve oluşturulan .xcworkspace dosyasını açın.

  2. Xcode'da uygulamanıza App Attest özelliğini ekleyin.

  3. Projenizin .entitlements dosyasında App Attest ortamını production olarak ayarlayın.

3. Uygulama Kontrolü'nü başlatın

Uygulama temsilcinizin didFinishLaunchingWithOptions yönteminde GIDSignIn.sharedInstance.configure(completion:) yöntemini çağırın. Kullanıcı tarafından algılanan gecikmeyi en aza indirmek için bu yöntemi uygulamanızın yaşam döngüsünde mümkün olduğunca erken çağırmalısınız.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

Sonraki adımlar

Uygulamanıza Uygulama Kontrolü kitaplığı yüklendikten sonra, güncellenmiş uygulamayı kullanıcılarınıza dağıtmaya başlayın.

Güncellenen istemci uygulaması, Google'ın kimlik doğrulama uç noktalarına yaptığı her istekle birlikte Uygulama Kontrolü jetonları göndermeye başlar ancak Firebase konsolunun Uygulama Kontrolü bölümünde zorunlu kılmayı etkinleştirmediğiniz sürece uç noktalar jetonların geçerli olmasını gerektirmez.

Metrikleri izleme

Ancak yaptırımı etkinleştirmeden önce bu işlemin mevcut meşru kullanıcılarınızın çalışmasını kesintiye uğratmayacağından emin olmanız gerekir. Diğer yandan, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız yaptırımın daha erken yapılmasını isteyebilirsiniz.

Bu kararı vermenize yardımcı olması için Google ile Oturum Açma için Uygulama Kontrolü metriklerine bakabilirsiniz.

Uygulama Kontrolü zorunluluğunu etkinleştir

Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştirebilirsiniz.

Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanma

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra, uygulamanızı normalde Uygulama Kontrolü'nün geçerli olarak sınıflandıramayacağı bir ortamda (örneğin, geliştirme sırasında simülatör veya sürekli entegrasyon (CI) ortamından) çalıştırmak isterseniz uygulamanızda App Attest yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturabilirsiniz.

Hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma başlıklı makaleyi inceleyin.