Pierwsze kroki z Logowaniem przez Google na iOS i macOS

Zanim zaczniesz integrować aplikację na iOS lub macOS z usługami logowania Google, musisz pobrać zależności i skonfigurować projekt Xcode. Instrukcje na tej stronie pomogą Ci to zrobić. Następujące kroki opisują, jak zintegrować funkcje logowania w Google z aplikacją.

Zanim zaczniesz

Zainstaluj najnowszą wersję Xcode.

Zainstaluj w projekcie zależności usługi logowania Google

CocoaPods

  1. Jeśli CocoaPods nie jest jeszcze zainstalowany, wykonaj czynności opisane w przewodniku dotyczącym korzystania z CocoaPods.

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

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

    pod init

  4. Otwórz plik Podfile utworzony dla aplikacji i dodaj:

    pod 'GoogleSignIn'

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

    pod 'GoogleSignInSwiftSupport'

  6. Zapisz plik i uruchom:

    pod install

  7. Otwórz wygenerowany plik .xcworkspace workspace aplikacji w Xcode. Używaj tego pliku we wszystkich przyszłych procesach związanych z programowaniem aplikacji. (Uwaga: to różni się od dołączonego pliku .xcodeproj project, który po otwarciu spowoduje błędy kompilacji).

    Przykładem może być plik Podfile aplikacji Objective-C.

Menedżer pakietów Swift

  1. Otwórz projekt w Xcode.

  2. Dodaj do aplikacji zależności związane z logowaniem w Google (dokumentacja Xcode):

    Repozytorium https://github.com/google/GoogleSignIn-iOS
    Wersja 7.0.0
    Produkt pakietowy GoogleSignIn
  3. Jeśli używasz SwiftUI, dodaj też te pakiety rozszerzeń do przycisku „Zaloguj się przez Google”:

    Produkt pakietowy GoogleSignInSwift

Pobieranie identyfikatora klienta OAuth

Aplikacja potrzebuje identyfikatora klienta OAuth, aby zidentyfikować się na zapleczu uwierzytelniania Google. W przypadku aplikacji na iOS i macOS typ aplikacji z identyfikatorem klienta OAuth musi być skonfigurowany jako iOS.

Jeśli identyfikator klienta OAuth jeszcze nie został utworzony, kliknij przycisk poniżej.

Tworzenie identyfikatora klienta OAuth

Po utworzeniu identyfikatora klienta OAuth zapisz ciąg znaków identyfikatora klienta, którego będziesz potrzebować do skonfigurowania logowania Google w aplikacji. Opcjonalnie możesz pobrać plik konfiguracji, który zawiera identyfikator klienta i inne dane konfiguracyjne.

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

Pobieranie identyfikatora klienta OAuth

Pobieranie identyfikatora klienta serwera OAuth

Większość aplikacji musi przekazywać tożsamość zalogowanych użytkowników do usługi backendowej. Aby bezpiecznie przekazywać tożsamość użytkowników, którzy zalogowali się w Google, do backendu, używasz tokenów identyfikacyjnych, jak opisano w sekcji Uwierzytelnianie za pomocą serwera backendowego. Pobieranie tokenu ID użytkownika wymaga drugiego identyfikatora klienta, czyli identyfikatora klienta serwera, który reprezentuje backend.

Aby utworzyć identyfikator klienta serwera:

  1. Otwórz projekt w konsoli Cloud.

  2. Utwórz nowy identyfikator klienta OAuth typu aplikacja internetowa. Zanotuj ciąg znaków identyfikatora klienta, który będzie potrzebny do skonfigurowania logowania w Google w aplikacji.

Konfigurowanie projektu aplikacji

Logowanie Google wymaga skonfigurowania projektu za pomocą identyfikatora klienta OAuth i niestandardowego schematu adresu URL. Opcjonalnie możesz też dodać identyfikator klienta serwera do uwierzytelniania na zapleczu lub zoptymalizować aplikację pod kątem domeny Google Workspace.

Dodaj identyfikator klienta OAuth i niestandardowy schemat URL

Zaktualizuj plik Info.plist aplikacji, aby dodać identyfikator klienta OAuth i niestandardowy schemat adresu URL oparty na odwróconym identyfikatorze klienta.

Odwrócony identyfikator klienta to identyfikator klienta, w którym kolejność pól oddzielonych kropką jest odwrócona. Jest on też widoczny w sekcji „Schemat adresu URL na iOS”, gdy w konsoli Cloud wybierzesz istniejącego klienta OAuth na iOS. 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 identyfikacyjnych użytkowników do uwierzytelniania na zapleczu, w pliku Info.plist aplikacji ustaw też klucz GIDServerClientID.

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

Opcjonalnie: zoptymalizuj pod kątem domeny Google Workspace lub domeny OpenID

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

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

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

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

Podpisywanie aplikacji

Aby aplikacja mogła działać natywnie na urządzeniach z macOS i iOS, musi być podpisana certyfikatem wydanym przez Apple. Pozwala to przechowywać poświadczenia za pomocą pęku kluczy.

Dalsze kroki

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