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ác bước trên trang này sẽ giúp bạn thực hiện việc đó. 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 Đă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 sử dụng 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, hãy tạo ngay một Podfile:

    pod init

  4. Mở Podfile được 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 pod 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 workspace (không gian làm việc) .xcworkspace đã 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 đi kèm, 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 Đăng nhập bằng Google vào ứng dụng của bạn (tài liệu Xcode):

    Kho lưu trữ https://github.com/google/GoogleSignIn-iOS
    Phiên bản 7.0.0
    Đóng gói sản phẩm 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 "Đăng nhập bằng Google":

    Đóng gói sản phẩm GoogleSignInSwift

Nhận mã ứng dụng khách 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 ứ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 OAuth

Sau khi tạo mã ứng dụng OAuth, hãy ghi lại chuỗi mã ứng dụng mà bạn cần để định cấu hình 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 (tệp này chứa mã ứng dụng và các dữ liệu cấu hình khác) để tham khảo sau này.

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.

Nhận mã ứng dụng khách OAuth hiện có

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

Hầu hết các ứng dụng sẽ cần chuyển danh tính của người dùng đã đăng nhập đến một dịch vụ phụ trợ nào đó. Để truyền an toàn danh tính của những người dùng đã đăng nhập bằng Google đến phần phụ trợ, bạn sử dụng mã thông báo nhận dạng, như đã thảo luận trong phần Xác thực bằng máy chủ phụ trợ. Để truy xuất mã thông báo mã nhận dạng của người dùng, bạn 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ách tạo mã ứng dụng máy chủ:

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

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

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

Tính năng Đăng nhập bằng Google yêu cầu bạn phải định cấu hình dự án bằng mã ứng dụng OAuth và giao thức URL tuỳ chỉnh. Nếu muốn, bạn cũng có thể thêm mã ứng dụng 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.

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 đảo ngược.

Mã ứng dụng khách đảo ngược là mã ứng dụng khách của bạn, trong đó thứ tự của các trường được phân tách bằng dấu chấm được đảo ngược. Thông tin này cũng xuất hiện trong phần "Lược đồ URL iOS" khi chọn một ứng dụng OAuth iOS hiện có trong bảng điều khiển trên đám mây. 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 xác thực phần phụ trợ

Nếu bạn cần lấy mã thông báo nhận dạng của người dùng để xác thực phần phụ trợ, hãy đặ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 miền Google Workspace hoặc miền 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 thông số GIDOpenIDRealm nếu bạn muốn chỉ định một phạm vi OpenID.

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

Ký ứng dụng

Ứng dụng của bạn phải được ký bằng chứng chỉ do Apple phát hành để chạy nguyên gốc trên các 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, khi đã tải các phần phụ thuộc của dự án xuống và định cấu hình dự án Xcode, bạn có thể thêm tính năng Đăng nhập bằng Google vào ứng dụng iOS.