Làm quen với tính năng Đăng nhập bằng Google cho iOS và macOS

Trước khi có thể bắt đầu tích hợp ứng dụng iOS hoặc macOS với các thành phần Đăng nhập bằng Google, bạn phải tải các phần phụ thuộc xuống và định cấu hình dự án Xcode của mình. Các bước trên trang này chỉ để bạn tìm hiểu. Sau đó, các bước tiếp theo sẽ mô tả cách tích hợp các tính năng Đăng nhập bằng Google vào ứng dụng của bạn.

Trước khi bắt đầu

Cài đặt phiên bản Xcode hiện tại.

Cài đặt các phần phụ thuộc của tính năng Đăng nhập bằng Google trong dự án

CocoaPods

  1. Nếu bạn chưa cài đặt CocoaPods, hãy làm theo các bước trong hướng dẫn Bắt đầu CocoaPods.

  2. Mở cửa sổ dòng lệnh rồi chuyển đến vị trí của dự án Xcode của ứng dụng.

  3. Nếu bạn chưa tạo Podfile cho ứng dụng của mình, hãy tạo ngay:

    pod init

  4. Mở Podfile đã tạo cho ứng dụng của bạn và thêm nội dung sau:

    pod 'GoogleSignIn'

  5. Nếu bạn đang sử dụng SwiftUI, hãy thêm tiện ích nhóm cho nút "Đăng nhập bằng Google":

    pod 'GoogleSignInSwiftSupport'

  6. Lưu tệp và chạy:

    pod install

  7. Mở tệp .xcworkspace không gian làm việc đã tạo cho ứng dụng của bạn trong Xcode. Hãy sử dụng tệp này cho tất cả các hoạt động phát triển ứng dụng trong tương lai. (Lưu ý rằng tệp này khác với tệp dự án .xcodeproj được bao gồm, vì tệp này sẽ dẫn đến lỗi bản dựng khi mở.)

    Bạn có thể tham khảo Podfile của ứng dụng mẫu Objective-C để biết ví dụ.

Trình quản lý gói Swift

  1. Mở dự án của bạn trong Xcode.

  2. Thêm các phần phụ thuộc của tính năng Đăng nhập bằng Google vào ứng dụng của bạn (Tài liệu về mã QR):

    Kho lưu trữ https://github.com/google/GoogleSignIn-iOS
    Phiên bản 7.0.0
    Sản phẩm đóng gói GoogleSignIn
  3. Nếu bạn đang sử dụng SwiftUI, hãy thêm cả sản phẩm gói tiện ích sau đây cho nút "Sign in with Google" (Đăng nhập bằng Google):

    Sản phẩm đóng gói GoogleSignInSwift

Nhận mã ứng dụng OAuth

Ứng dụng của bạn cần có mã ứng dụng khách OAuth để tự xác định với phần phụ trợ xác thực của Google. Đối với các ứng dụng iOS và macOS, bạn phải định cấu hình loại ứng dụng mã ứng dụng khách OAuth là iOS.

Nếu bạn chưa tạo mã ứng dụng khách OAuth, hãy nhấp vào nút bên dưới để tạo.

Tạo mã ứng dụng khách OAuth

Sau khi tạo mã ứng dụng khách OAuth, hãy ghi lại chuỗi mã ứng dụng khách mà bạn sẽ cần để định cấu hình cho tính năng Đăng nhập bằng Google trong ứng dụng. Bạn có thể tuỳ ý tải tệp cấu hình xuống (chứa mã ứng dụng khách và các dữ liệu cấu hình khác) để tham khảo trong tương lai.

Nếu đã tạo mã ứng dụng khách OAuth, bạn có thể tìm thông tin OAuth hiện có bằng cách nhấp vào nút bên dưới.

Tải mã ứng dụng OAuth hiện có

Nhận mã ứng dụng khách của máy chủ OAuth

Hầu hết ứng dụng cần truyền danh tính của người dùng đã đăng nhập sang một dịch vụ phụ trợ thuộc dạng nào đó. Để truyền danh tính của người dùng đã đăng nhập bằng Google đến phần phụ trợ của bạn một cách an toàn, hãy sử dụng mã thông báo mã nhận dạng, như đã thảo luận trong bài viết Xác thực bằng máy chủ phụ trợ. Việc truy xuất mã thông báo mã nhận dạng của người dùng cần có một mã ứng dụng khách thứ hai (mã ứng dụng khách máy chủ) đại diện cho phần phụ trợ của bạn.

Cách tạo mã ứng dụng khách của máy chủ:

  1. Mở dự án trong Cloud Console.

  2. Tạo một mã ứng dụng OAuth mới cho loại Ứng dụng web. Hãy ghi lại chuỗi mã ứng dụng khách mà bạn cần để định cấu hình tính năng Đăng nhập bằng Google trong ứng dụng của mình.

Định cấu hình dự án ứng dụng

Tính năng Đăng nhập bằng Google yêu cầu dự án của bạn phải được định cấu hình bằng mã ứng dụng khách OAuth và một lược đồ URL tuỳ chỉnh. Bạn cũng có thể thêm mã ứng dụng khách máy chủ để xác thực phần phụ trợ hoặc tối ưu hoá ứng dụng cho miền Google Workspace của mình (không bắt buộc).

Thêm mã ứng dụng khách OAuth và lược đồ URL tuỳ chỉnh

Cập nhật tệp Info.plist của ứng dụng để thêm mã ứng dụng khách OAuth và một lược đồ URL tuỳ chỉnh dựa trên mã ứng dụng khách được đảo ngược.

Mã ứng dụng khách đảo ngược là mã ứng dụng khách có thứ tự của các trường phân tách bằng dấu chấm được đảo ngược. API này cũng xuất hiện trong phần "Lược đồ URL dành cho iOS" khi chọn một ứng dụng OAuth dành cho iOS hiện có trong Cloud Console. Ví dụ: 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>

Không bắt buộc: Định cấu hình phương thức xác thực phụ trợ

Nếu cần lấy mã thông báo mã nhận dạng của người dùng để xác thực phần phụ trợ, bạn cũng cần đặt khoá GIDServerClientID trong tệp Info.plist của ứng dụng.

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

Không bắt buộc: Tối ưu hoá cho một miền Google Workspace hoặc vùng OpenID

Sử dụng tham số GIDHostedDomain nếu bạn muốn tối ưu hoá quy trình đăng nhập cho một miền Google Workspace.

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

Sử dụng tham số GIDOpenIDRealm nếu bạn muốn chỉ định vùng OpenID.

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

Ký đơn đăng ký của bạn

Ứng dụng của bạn phải được ký bằng một chứng chỉ do Apple cấp để có thể chạy nguyên gốc trên thiết bị macOS và iOS nhằm lưu trữ thông tin xác thực thông qua chuỗi khoá.

Các bước tiếp theo

Giờ đây, bạn đã tải các phần phụ thuộc của dự án xuống và định cấu hình dự án Xcode của mình, bạn có thể thêm tính năng Đăng nhập bằng Google vào ứng dụng iOS.