iOS ve macOS için Google ile Oturum Açma özelliğini kullanmaya başlama

iOS veya macOS uygulamanızı Google ile Giriş bileşenleriyle entegre etmeye başlamadan önce bağımlılıkları indirmeniz ve Xcode projenizi yapılandırmanız gerekir. Bu sayfadaki adımlar tam olarak bunu yapar. Sonraki adımlarda ise Google ile Giriş özelliklerini uygulamanıza nasıl entegre edeceğiniz açıklanmaktadır.

Başlamadan önce

Xcode'un güncel bir sürümünü yükleyin.

Projenize Google ile Giriş bağımlılıklarını yükleyin

CocoaPods

  1. CocoaPods'u henüz yüklemediyseniz CocoaPods Başlangıç kılavuzundaki adımları uygulayın.

  2. Bir terminal penceresi açın ve uygulamanızın Xcode projesinin konumuna gidin.

  3. Uygulamanız için henüz bir Podfile oluşturmadıysanız şimdi oluşturun:

    pod init

  4. Uygulamanız için oluşturulan Podfile dosyasını açın ve aşağıdakileri ekleyin:

    pod 'GoogleSignIn'

  5. SwiftUI kullanıyorsanız "Google ile oturum açma" düğmesi için pod uzantısını da ekleyin:

    pod 'GoogleSignInSwiftSupport'

  6. Dosyayı kaydedin ve şunu çalıştırın:

    pod install

  7. Xcode'da uygulamanız için oluşturulan .xcworkspace workspace dosyasını açın. Bu dosyayı uygulamanızda ileride yapılacak tüm geliştirmeler için kullanın. (Bunun, dahil edilen .xcodeproj proje dosyasından farklı olduğunu unutmayın. Bu dosya açıldığında derleme hatalarına neden olur.)

    Örnek olarak Objective-C örnek uygulamasının Podfile'ına bakabilirsiniz.

Swift Package Manager

  1. Projenizi Xcode'da açın.

  2. Google ile Giriş bağımlılarını uygulamanıza ekleyin (Xcode dokümanları):

    Depo https://github.com/google/GoogleSignIn-iOS
    Sürüm 9.0.0
    Paketlenmiş ürün GoogleSignIn
  3. SwiftUI kullanıyorsanız "Google ile oturum açın" düğmesi için aşağıdaki uzantı paketi ürününü de ekleyin:

    Paketlenmiş ürün GoogleSignInSwift

OAuth istemci kimliği edinme

Uygulamanızın, Google'ın kimlik doğrulama arka ucuna kendisini tanıtması için bir OAuth istemci kimliğine ihtiyacı vardır. iOS ve macOS uygulamaları için OAuth istemci kimliği uygulama türü iOS olarak yapılandırılmalıdır.

Henüz bir OAuth istemci kimliği oluşturmadıysanız bunu yapmak için aşağıdaki düğmeyi tıklayın.

OAuth istemci kimliği oluşturma

OAuth istemci kimliğini oluşturduktan sonra, uygulamanızda Google ile Giriş'i yapılandırmak için ihtiyacınız olacak istemci kimliği dizesini not alın. İsterseniz istemci kimliğinizi ve diğer yapılandırma verilerinizi içeren yapılandırma dosyasını ileride başvurmak üzere indirebilirsiniz.

Daha önce bir OAuth istemci kimliği oluşturduysanız aşağıdaki düğmeyi tıklayarak mevcut OAuth bilgilerinizi bulabilirsiniz.

Mevcut bir OAuth istemci kimliğini alma

OAuth sunucusu istemci kimliği edinme

Çoğu uygulamanın, oturum açmış kullanıcıların kimliğini bir tür arka uç hizmetine iletmesi gerekir. Google ile oturum açan kullanıcıların kimliğini arka ucunuza güvenli bir şekilde iletmek için Arka uç sunucusuyla kimlik doğrulama bölümünde ele alındığı gibi kimlik jetonlarını kullanırsınız. Bir kullanıcının kimlik jetonunu almak için ikinci bir istemci kimliği (arka uçunuzu temsil eden sunucu istemci kimliğiniz) gerekir.

Sunucu istemci kimliği oluşturmak için:

  1. Projenizi Cloud Console'da açın.

  2. Yeni bir Web uygulaması türünde OAuth istemci kimliği oluşturun. Uygulamanızda Google ile Giriş'i yapılandırmak için ihtiyacınız olacak istemci kimliği dizesini not alın.

Uygulama projenizi yapılandırma

Google ile Oturum Açma özelliğini kullanmak için projenizin OAuth istemci kimliğiniz ve özel bir URL şemasıyla yapılandırılması gerekir. İsteğe bağlı olarak, arka uç kimlik doğrulaması için sunucu istemci kimliğinizi de ekleyebilir veya uygulamanızı Google Workspace alanınız için optimize edebilirsiniz.

OAuth istemci kimliğinizi ve özel URL şemanızı ekleyin

Info.plist dosyanızı güncelleyerek OAuth istemci kimliğinizi ve tersine çevrilmiş istemci kimliğine dayalı özel bir URL şeması ekleyin.

Tersine çevrilmiş müşteri kimliği, nokta ile ayrılmış alanların sırası tersine çevrilmiş müşteri kimliğinizdir. Bu, Cloud Console'da mevcut bir iOS OAuth istemcisi seçilirken "iOS URL şeması" altında da gösterilir. Örneğin: com.googleusercontent.apps.1234567890-abcdefg

<key>GIDClientID</key>
<string>YOUR_IOS_CLIENT_ID</string>
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
    </array>
  </dict>
</array>

İsteğe bağlı: Arka uç kimlik doğrulamasını yapılandırma

Arka uç kimlik doğrulaması için kullanıcıların kimlik jetonlarını almanız gerekiyorsa uygulamanızın Info.plist dosyasında GIDServerClientID anahtarını da ayarlayın.

<key>GIDServerClientID</key>
<string>YOUR_SERVER_CLIENT_ID</string>

İsteğe bağlı: Google Workspace alanı veya OpenID alanı için optimize etme

Oturum açma akışını bir Google Workspace alanı için optimize etmek istiyorsanız GIDHostedDomain parametresini kullanın.

<key>GIDHostedDomain</key>
<string>YOUR_HOSTED_DOMAIN</string>

OpenID alanı belirtmek istiyorsanız GIDOpenIDRealm parametresini kullanın.

<key>GIDOpenIDRealm</key>
<string>YOUR_OPENID_REALM</string>

Uygulamanızı imzalama

Uygulamanızın, Anahtar Zinciri'ni kullanarak kimlik bilgilerini saklamak için macOS ve iOS cihazlarda yerel olarak çalışabilmesi amacıyla Apple tarafından verilmiş bir sertifikayla imzalanması gerekir.

macOS uygulamanızın Anahtar Zinciri'ni kullanarak kimlik bilgilerini başarıyla saklaması için $(AppIdentifierPrefix)$(CFBundleIdentifier) öğesini de anahtar zinciri erişim grubuna eklemeniz gerekir.

Sonraki adımlar

Proje bağımlılıklarını indirip Xcode projenizi yapılandırdığınıza göre artık iOS uygulamanıza Google ile oturum açma özelliğini ekleyebilirsiniz.