Pierwsze kroki z Logowaniem przez Google na iOS i macOS

Zanim rozpoczniesz integrację aplikacji na iOS lub macOS z komponentami logowania Google, musisz pobrać zależności i skonfigurować projekt Xcode. Kroki na tej stronie właśnie tak. W kolejnych krokach dowiesz się, jak zintegrować funkcje logowania przez Google z aplikacją.

Zanim zaczniesz

Zainstaluj aktualną wersję Xcode.

Zainstaluj w projekcie zależności logowania Google

CocoaPods

  1. Jeśli nie masz jeszcze zainstalowanych CocoaPods, wykonaj czynności opisane w przewodniku CocoaPods dla początkujących.

  2. Otwórz okno terminala i przejdź do lokalizacji projektu Xcode Twojej aplikacji.

  3. Jeśli nie masz jeszcze pliku Podfile dla aplikacji, utwórz go teraz:

    pod init

  4. Otwórz plik Podfile utworzony dla Twojej aplikacji i dodaj do niego te dane:

    pod 'GoogleSignIn'

  5. Jeśli używasz interfejsu SwiftUI, dodaj też rozszerzenie bloku reklamowego dla przycisku „Zaloguj się przez Google”:

    pod 'GoogleSignInSwiftSupport'

  6. Zapisz plik i uruchom:

    pod install

  7. Otwórz wygenerowany plik .xcworkspace workspace dla swojej aplikacji w Xcode. Używaj tego pliku we wszystkich przyszłych procesach związanych z programowaniem aplikacji. Zwróć uwagę, że różni się on od dołączonego pliku projektu .xcodeproj, bo jego otwarcie mogłoby spowodować błędy kompilacji.

    Przykład znajdziesz w pliku Podfile przykładowej aplikacji Objective-C.

Menedżer pakietów Swift

  1. Otwórz projekt w Xcode.

  2. Dodaj do aplikacji zależności logowania Google (dokumentacja Xcode):

    Repozytorium https://github.com/google/GoogleSignIn-iOS
    Wersja 7.0.0
    Produkt w pakiecie GoogleSignIn
  3. Jeśli korzystasz z interfejsu SwiftUI, dodaj też ten pakiet rozszerzeń dla przycisku „Zaloguj się przez Google”:

    Produkt w pakiecie GoogleSignInSwift

Uzyskaj identyfikator klienta OAuth

Twoja aplikacja potrzebuje identyfikatora klienta OAuth, aby identyfikować się z backendem uwierzytelniania Google. W przypadku aplikacji na iOS i macOS typ aplikacji z identyfikatorem klienta OAuth musi być skonfigurowany jako iOS.

Jeśli nie masz jeszcze utworzonego identyfikatora klienta OAuth, kliknij przycisk poniżej, aby go utworzyć.

Tworzenie identyfikatora klienta OAuth

Po utworzeniu identyfikatora klienta OAuth zwróć uwagę na ciąg identyfikatora klienta, który będzie potrzebny do skonfigurowania logowania przez Google w swojej aplikacji. Opcjonalnie możesz pobrać do użycia w przyszłości plik konfiguracji zawierający identyfikator klienta i inne dane konfiguracji.

Jeśli masz już utworzony identyfikator klienta OAuth, możesz znaleźć istniejące informacje o OAuth, klikając przycisk poniżej.

Uzyskaj istniejący identyfikator klienta OAuth

Uzyskiwanie identyfikatora klienta serwera OAuth

Większość aplikacji musi przekazywać tożsamość zalogowanych użytkowników do jakiegoś rodzaju usługi backendu. Aby bezpiecznie przekazywać do backendu tożsamość użytkowników, którzy zalogowali się przez Google, możesz użyć tokenów tożsamości zgodnie z opisem w artykule Uwierzytelnianie przy użyciu serwera backendu. Pobranie tokena identyfikatora użytkownika wymaga drugiego identyfikatora klienta – identyfikatora klienta serwera, który reprezentuje Twój backend.

Aby utworzyć identyfikator klienta serwera:

  1. Otwórz projekt w konsoli Google Cloud.

  2. Utwórz nowy identyfikator klienta OAuth typu Aplikacja internetowa. Zanotuj ciąg identyfikatora klienta, który musisz skonfigurować w swojej aplikacji.

Konfigurowanie projektu aplikacji

Logowanie przez Google wymaga, aby projekt został skonfigurowany przy użyciu identyfikatora klienta OAuth i niestandardowego schematu adresu URL. Opcjonalnie możesz też dodać identyfikator klienta serwera na potrzeby uwierzytelniania backendu lub zoptymalizować aplikację pod kątem domeny Google Workspace.

Dodaj identyfikator klienta OAuth i schemat niestandardowego adresu URL

Zaktualizuj plik Info.plist aplikacji, dodając identyfikator klienta OAuth i niestandardowy schemat adresu URL oparty na odwrotnym identyfikatorze klienta.

Odwrócony identyfikator klienta to Twój identyfikator klienta z odwróconą kolejnością pól rozdzielanych kropkami. Pokazuje się to też w sekcji „Schemat adresu URL iOS” podczas wybierania istniejącego klienta OAuth na iOS w konsoli Cloud. Na przykład: 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>

Opcjonalnie: skonfiguruj uwierzytelnianie backendu

Jeśli potrzebujesz tokenów identyfikatorów użytkowników do uwierzytelniania backendu, ustaw też klucz GIDServerClientID w pliku Info.plist aplikacji.

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

Opcjonalnie: optymalizacja pod kątem domeny Google Workspace lub obszaru OpenID

Użyj parametru GIDHostedDomain, jeśli chcesz zoptymalizować proces logowania w domenie Google Workspace.

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

Jeśli chcesz określić obszar OpenID, użyj parametru GIDOpenIDRealm.

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

Podpisywanie aplikacji

Aby aplikacja mogła działać na urządzeniach z systemem macOS i iOS, musi być podpisana certyfikatem wydanym przez Apple. Umożliwi to przechowywanie danych logowania za pomocą pęku kluczy.

Dalsze kroki

Po pobraniu zależności projektu i skonfigurowaniu projektu Xcode możesz dodać Logowanie przez Google do swojej aplikacji na iOS.