Loại liên kết tài khoản tối ưu cho Hành động của bạn là loại liên kết mang lại trải nghiệm đơn giản nhất cho người dùng và phù hợp với nhu cầu của ứng dụng hoặc doanh nghiệp. Việc chọn loại liên kết chủ yếu phụ thuộc vào các yếu tố sau:
- Bạn có muốn cho phép tạo tài khoản qua giọng nói hay không
- Bạn có muốn người dùng có thể đăng nhập vào dịch vụ của bạn bằng tài khoản không phải của Google hay không
- Dịch vụ của bạn có thể lưu trữ thông tin mật hay không (ví dụ: mật khẩu ứng dụng khách)
Để xác định loại liên kết tài khoản lý tưởng, hãy làm theo các bước sau:
- Hãy cân nhắc các câu hỏi trong phần Xác định loại thông tin đăng nhập ưu tiên.
- Tham khảo cây quyết định để chọn loại liên kết.
- Di chuyển đến phần tương ứng với loại ban đầu mà bạn đã chọn để tinh chỉnh thêm cách hoạt động.
Xác định kiểu đăng nhập bạn ưu tiên
Trước khi bạn tham khảo cây quyết định, hãy cân nhắc các câu hỏi sau:
- Bạn có muốn tất cả người dùng của mình đều có Tài khoản Google không?
- Nếu Hành động của bạn chỉ nhắm đến Trợ lý, thì bạn có thể mong đợi tất cả người dùng đều có Tài khoản Google. Nếu Hành động của bạn nhắm đến các nền tảng ngoài Trợ lý, thì bạn không thể kỳ vọng tất cả người dùng đều có Tài khoản Google.
- Nếu dịch vụ của bạn đã có người dùng hiện tại, thì có thể một số người chưa có Tài khoản Google hoặc chưa đăng nhập vào dịch vụ của bạn bằng Tài khoản Google.
- Nếu triển khai OAuth, bạn có thể mở rộng phạm vi triển khai để hỗ trợ giao thức Google
không?
- Để hỗ trợ giao thức Google, bạn cần thêm chức năng
intent=get
vàintent=create
vào điểm cuối trao đổi mã thông báo. Chức năng này cho phép Google kiểm tra xem người dùng đã tồn tại trong phần phụ trợ hay chưa và lần lượt đưa ra yêu cầu tạo một tài khoản mới trên dịch vụ của bạn.
- Để hỗ trợ giao thức Google, bạn cần thêm chức năng
Hãy theo dõi cây quyết định dưới đây để xác định loại liên kết tài khoản phù hợp nhất cho bạn và người dùng của bạn:
Sau khi chọn một loại hình liên kết, hãy tiếp tục chuyển đến phần tương ứng ở bên dưới để tìm hiểu thêm về cách hoạt động của loại hình đó và đưa ra quyết định khác về cách hoạt động của việc liên kết tài khoản trong Hành động của bạn.
OAuth và tính năng Đăng nhập bằng Google
Loại liên kết OAuth và Đăng nhập bằng Google (GSI) bổ sung GSI ngoài tính năng liên kết tài khoản dựa trên OAuth, mang lại các lợi ích của GSI (ví dụ: liên kết dựa trên giọng nói cho người dùng Google), đồng thời cho phép liên kết tài khoản cho những người dùng đã đăng ký dịch vụ của bạn bằng tài khoản không phải của Google. Loại liên kết này đặc biệt có lợi cho người dùng cuối vì nó cung cấp một luồng nhanh chóng cho người dùng Google với tính năng dự phòng cho người dùng không phải người dùng Google. Để biết thêm thông tin về cách hoạt động của loại liên kết OAuth và GSI, hãy xem Hướng dẫn về khái niệm về OAuth và Đăng nhập bằng Google.
Tinh chỉnh loại liên kết OAuth và Đăng nhập bằng Google
Khi sử dụng loại liên kết tài khoản OAuth và GSI trong Hành động của mình, bạn sẽ chỉ định câu trả lời cho các câu hỏi sau trong bảng điều khiển Actions để xác định cách hoạt động:
Bạn muốn bật tính năng tạo tài khoản bằng giọng nói hay chỉ cho phép tạo tài khoản trên trang web của mình?
Nhìn chung, bạn nên bật tính năng tạo tài khoản qua giọng nói để người dùng trên một thiết bị không được sàng lọc có thể tạo tài khoản mà không phải chuyển sang một thiết bị khác. Nếu bạn không cho phép tạo tài khoản thông qua giọng nói, Trợ lý sẽ mở URL đến trang web mà bạn đã cung cấp để xác thực người dùng và chuyển hướng người dùng đến điện thoại để tiếp tục quy trình liên kết tài khoản.
Tuy nhiên, bạn không nên cho phép tạo tài khoản thông qua giọng nói nếu thuộc một trong những trường hợp sau đây:
- Bạn cần có toàn quyền kiểm soát quy trình tạo tài khoản. Ví dụ: bạn có thể cần hiển thị điều khoản dịch vụ của mình cho người dùng trong quá trình tạo tài khoản hoặc một số loại thông báo khác.
- Bạn muốn đảm bảo rằng những người dùng đã có tài khoản của bạn sẽ đăng nhập bằng tài khoản đó. Ví dụ: có thể bạn muốn người dùng tiếp tục sử dụng các tài khoản hiện có của họ nếu bạn cung cấp một chương trình khách hàng thân thiết và không muốn người dùng mất số điểm đã tích luỹ trên tài khoản của họ.
Bạn muốn sử dụng quy trình mã uỷ quyền hay quy trình ngầm ẩn?
Quy trình mã uỷ quyền và quy trình ngầm ẩn khác nhau ở chỗ quy trình mã uỷ quyền yêu cầu có một điểm cuối thứ hai là điểm cuối trao đổi mã thông báo. Điểm cuối này sử dụng mã làm mới để tạo mã truy cập mới, ngắn hạn mà không cần nhắc người dùng đăng nhập lại.
Ngược lại, nếu sử dụng luồng ngầm ẩn, bạn sẽ trả về một mã truy cập dài hạn cho Google mà thường không cần được tạo lại. Để biết thêm thông tin về mã uỷ quyền và quy trình ngầm ẩn, hãy xem hướng dẫn về khái niệm về OAuth và Đăng nhập bằng Google.
Bạn nên sử dụng quy trình mã uỷ quyền trong Hành động của mình vì cách này an toàn hơn. Tuy nhiên, hãy sử dụng luồng ngầm ẩn thay thế nếu dịch vụ của bạn không thể lưu trữ thông tin bảo mật (ví dụ: mật khẩu ứng dụng khách). Ví dụ: bạn phải sử dụng luồng ngầm ẩn cho các ứng dụng công khai như ứng dụng trang đơn (SPA).
Sau khi xem xét những điểm quyết định này, hãy tham khảo cây quyết định sau:
Đăng nhập bằng Google
Với loại liên kết GSI, Hành động của bạn có thể yêu cầu quyền truy cập vào hồ sơ Google của người dùng trong khi trò chuyện và dùng thông tin hồ sơ để kiểm tra xem người dùng có trong phần phụ trợ của dịch vụ hay không. Nếu người dùng không tồn tại, họ có thể tạo một tài khoản mới trong hệ thống của bạn bằng cách sử dụng thông tin hồ sơ trên Google của họ.
Đối với GSI, bạn phải bật tính năng tạo tài khoản qua giọng nói để người dùng có thể hoàn tất toàn bộ quy trình qua giọng nói. Để biết thêm thông tin về GSI, hãy xem Hướng dẫn về khái niệm liên quan đến tính năng Đăng nhập bằng Google.
OAuth
Với loại liên kết OAuth, người dùng đăng nhập theo quy trình OAuth 2 tiêu chuẩn. Loại liên kết OAuth hỗ trợ 2 quy trình OAuth 2.0 tiêu chuẩn ngành: quy trình mã ngầm ẩn và uỷ quyền.
Google không đề xuất loại liên kết OAuth vì loại này yêu cầu chuyển người dùng từ giọng nói sang màn hình để hoàn tất quy trình đăng nhập nếu người dùng đang sử dụng một thiết bị không được sàng lọc. Bạn có thể cân nhắc sử dụng quy trình này nếu đã triển khai máy chủ OAuth 2, đồng thời không thể mở rộng điểm cuối trao đổi mã thông báo để thêm tính năng hỗ trợ cho các giao thức của Google nhằm tự động liên kết và tạo tài khoản từ mã thông báo nhận dạng. Để biết thêm thông tin, hãy xem Hướng dẫn về khái niệm về OAuth.
Tinh chỉnh quy trình
Khi sử dụng loại liên kết tài khoản OAuth trong Hành động của mình, bạn phải chỉ định câu trả lời cho câu hỏi sau trong bảng điều khiển Actions để xác định cách hoạt động của thao tác đó:
Bạn muốn sử dụng quy trình mã uỷ quyền hay quy trình ngầm ẩn?
Loại liên kết OAuth hỗ trợ 2 quy trình OAuth 2.0 tiêu chuẩn ngành: quy trình mã ngầm ẩn và uỷ quyền. Quy trình mã uỷ quyền và luồng ngầm ẩn khác nhau ở chỗ quy trình mã uỷ quyền yêu cầu một điểm cuối thứ hai là điểm cuối trao đổi mã thông báo. Điểm cuối này sử dụng mã làm mới để tạo mã truy cập mới, ngắn hạn mà không cần nhắc người dùng đăng nhập lại.
Ngược lại, nếu sử dụng luồng ngầm ẩn, bạn sẽ trả về một mã truy cập dài hạn cho Google mà thường không cần được tạo lại. Để biết thêm thông tin về mã uỷ quyền và quy trình ngầm ẩn, hãy xem Hướng dẫn về khái niệm về OAuth.
Bạn nên sử dụng quy trình mã uỷ quyền trong Hành động của mình vì cách này an toàn hơn. Tuy nhiên, hãy sử dụng luồng ngầm ẩn thay thế nếu dịch vụ của bạn không thể lưu trữ thông tin bảo mật (ví dụ: mật khẩu ứng dụng khách). Ví dụ: bạn phải sử dụng luồng ngầm ẩn cho các ứng dụng công khai như ứng dụng trang đơn (SPA).