Liên kết Tài khoản Google với tính năng App Flip dựa trên OAuth

Tính năng Liên kết bằng cách chuyển đổi ứng dụng (App Flip) dựa trên OAuth cho phép người dùng nhanh chóng liên kết tài khoản của họ trong hệ thống xác thực của bạn với Tài khoản Google. Nếu ứng dụng của bạn được cài đặt trên điện thoại của người dùng khi họ bắt đầu quy trình liên kết tài khoản, thì họ sẽ được chuyển đổi liền mạch sang ứng dụng của bạn để được cấp quyền của người dùng.

Phương pháp này giúp quy trình liên kết diễn ra nhanh hơn vì người dùng không phải nhập lại tên người dùng và mật khẩu để xác thực. Thay vào đó, tính năng App Flip tận dụng thông tin xác thực từ tài khoản của người dùng trên ứng dụng của bạn. Sau khi liên kết Tài khoản Google với ứng dụng của bạn, người dùng có thể tận dụng mọi tính năng tích hợp mà bạn đã phát triển.

Bạn có thể thiết lập tính năng App Flip cho cả ứng dụng iOS và Android.

Hình này minh hoạ các bước để người dùng liên kết Tài khoản Google của họ với hệ thống xác thực của bạn. Ảnh chụp màn hình đầu tiên cho thấy cách người dùng có thể chọn ứng dụng của bạn nếu Tài khoản Google của họ được liên kết với ứng dụng của bạn. Ảnh chụp màn hình thứ hai cho thấy thông báo xác nhận việc liên kết Tài khoản Google của họ với ứng dụng của bạn. Ảnh chụp màn hình thứ ba cho thấy một tài khoản người dùng đã liên kết thành công trong ứng dụng Google.
Hình 1. Liên kết tài khoản trên điện thoại của người dùng bằng tính năng App Flip.

Yêu cầu

Để triển khai tính năng App Flip, bạn phải đáp ứng các yêu cầu sau:

  • Bạn phải có một ứng dụng Android hoặc iOS.
  • Bạn phải sở hữu, quản lý và duy trì một máy chủ OAuth 2.0 hỗ trợ quy trình sử dụng mã uỷ quyền OAuth 2.0.

Quy trình App Flip dựa trên OAuth

Sơ đồ trình tự sau đây trình bày chi tiết về sự tương tác giữa Người dùng, ứng dụng Google, Ứng dụng của bạn và Máy chủ uỷ quyền của bạn cho tính năng lật ứng dụng.

Người dùng Ứng dụng Google Ứng dụng của bạn Máy chủ Google Máy chủ xác thực của bạn 1. Bắt đầu liên kết 2. Liên kết sâu đến Ứng dụng của bạn 3. Hiển thị màn hình đồng ý 4. Người dùng cấp quyền đồng ý 5. Nhận mã xác thực 6. authorization_code 7. Quay lại Ứng dụng Google 8. Truyền mã đến Máy chủ Google 9. Trao đổi mã thông báo (POST) 10. access_token, refresh_token 11. Lưu trữ mã thông báo của người dùng 12. Truy cập vào tài nguyên của người dùng
Hình 2. Trình tự các sự kiện trong quy trình App Flip. Nếu mã uỷ quyền được cung cấp, thì quá trình trao đổi mã thông báo sẽ diễn ra từ máy chủ đến máy chủ, giống như trong quy trình liên kết OAuth dựa trên trình duyệt.

Vai trò và trách nhiệm

Bảng sau đây xác định vai trò và trách nhiệm của những người thực hiện trong quy trình App Flip.

Người thực hiện / Thành phần Vai trò GAL Trách nhiệm
Ứng dụng / Máy chủ Google Ứng dụng OAuth Bắt đầu quy trình liên kết, kích hoạt một liên kết sâu đến ứng dụng di động app, trao đổi mã uỷ quyền để lấy mã thông báo và lưu trữ các mã này một cách an toàn để truy cập vào các API của dịch vụ.
Ứng dụng của bạn Đại diện uỷ quyền Xác thực người dùng (thường là bằng thông tin xác thực hiện có của ứng dụng), lấy được sự đồng ý và truy xuất mã uỷ quyền từ máy chủ của bạn.
Máy chủ uỷ quyền của bạn Máy chủ uỷ quyền Xác thực mã uỷ quyền và mã làm mới, đồng thời cấp mã truy cập cho Máy chủ Google.

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.

Requirements

  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.

Recommendations

We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to deny or cancel. Provide a way for users to go back, deny, or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

Triển khai tính năng Lật ứng dụng trong ứng dụng

Để triển khai tính năng Lật ứng dụng, bạn cần sửa đổi mã uỷ quyền người dùng trong ứng dụng để chấp nhận đường liên kết sâu từ Google.

Để hỗ trợ tính năng Lật ứng dụng trên ứng dụng Android, hãy làm theo hướng dẫn trong hướng dẫn triển khai Android.

Để hỗ trợ tính năng Lật ứng dụng trên ứng dụng iOS, hãy làm theo hướng dẫn trong hướng dẫn triển khai iOS.

Kiểm thử tính năng Lật ứng dụng

Bạn có thể mô phỏng tính năng Lật ứng dụng bằng các ứng dụng mẫu và ứng dụng kiểm thử trước khi có các ứng dụng sản xuất đã xác minh và một máy chủ OAuth 2.0 đang hoạt động.

Trong quá trình Lật ứng dụng, một ứng dụng Google sẽ mở ứng dụng của bạn trước tiên, sau đó yêu cầu phản hồi mã uỷ quyền từ máy chủ OAuth 2.0. Ở bước cuối cùng, phản hồi sẽ được trả về ứng dụng Google.

Điều kiện tiên quyết

Để mô phỏng một ứng dụng Google và kích hoạt ý định khởi chạy ứng dụng, hãy tải xuống và cài đặt Công cụ kiểm thử tính năng lật ứng dụng cho AndroidiOS.

Tải xuống và cài đặt Ứng dụng mẫu tính năng Lật ứng dụng cho AndroidiOS để mô phỏng ứng dụng của bạn và chọn một loại phản hồi OAuth 2.0.

Trình tự kiểm thử

  1. Mở Công cụ kiểm thử tính năng Lật ứng dụng.
  2. Nhấn vào Try Flip! (Thử lật!) để khởi chạy ứng dụng mẫu tính năng Lật ứng dụng.
  3. Chọn một phản hồi từ các nút chọn trong ứng dụng mẫu.
  4. Nhấn vào Send (Gửi) để trả về phản hồi OAuth 2.0 được mô phỏng cho Công cụ kiểm thử.
  5. Kiểm tra thông báo nhật ký của Công cụ kiểm thử để biết auth_code hoặc thông tin chi tiết về lỗi.

Kiểm thử trong môi trường sản xuất

Bạn có thể kiểm thử tính năng Lật ứng dụng trong môi trường sản xuất sau khi hoàn tất quá trình đăng ký và triển khai máy chủ OAuth 2.0.

Bạn nên sử dụng một Tài khoản Google và một địa chỉ email dành riêng cho tác vụ để kiểm thử tự động.

Bạn có thể xem trạng thái liên kết tài khoản bằng cách sử dụng Tài khoản được liên kết khi đăng nhập với tư cách là chủ sở hữu Tài khoản Google. Bạn cũng có thể huỷ liên kết tài khoản giữa các lần kiểm thử lặp lại từ đây.

Ngoài ra, bạn có thể chọn triển khai RISC để huỷ liên kết theo phương thức lập trình và thông báo cho Google về thay đổi này.