Tự động đăng nhập và đăng xuất

Trang này mô tả cách triển khai các tính năng liên quan đến cách người dùng đăng nhập hoặc đăng xuất bằng tính năng Đăng nhập bằng một lần chạm của Google.

Tự động đăng nhập người dùng

Tính năng Đăng nhập bằng một lần chạm của Google hỗ trợ tính năng tự động đăng nhập, mang lại trải nghiệm người dùng (UX) mượt mà bằng cách loại bỏ các bước thủ công mà người dùng phải thực hiện khi quay lại trang web của bạn. Người dùng không cần nhớ Tài khoản Google mà họ đã chọn trong lần truy cập gần nhất, nhờ đó giảm khả năng tạo tài khoản trùng lặp không cần thiết trên nền tảng của bạn.

Tính năng tự động đăng nhập được thiết kế để bổ sung cho nút Đăng nhập bằng Google và hộp thoại Một lần chạm. Tính năng này được thiết kế để sử dụng trên toàn bộ trang web của bạn, trong đó việc đăng ký thủ công hoặc chuyển đổi tài khoản chỉ xảy ra sau khi người dùng đăng xuất khỏi trang web của bạn lần đầu tiên.

Để tính năng Tự động đăng nhập hoạt động, bạn cần đáp ứng các điều kiện sau:

  • trước tiên, người dùng phải đăng nhập vào Tài khoản Google của họ và
  • trước đây đã đồng ý chia sẻ hồ sơ tài khoản của họ với ứng dụng của bạn và
  • khi sử dụng FedCM, chỉ thực hiện một lần đăng nhập trong 10 phút qua. Tính năng Một lần chạm sẽ xuất hiện khi người dùng đăng nhập nhiều lần trong khoảng thời gian này.
  • khi sử dụng FedCM, Chrome yêu cầu người dùng xác nhận lại rằng họ muốn đăng nhập vào trang web bằng Tài khoản Google trong mỗi phiên bản Chrome, ngay cả khi người dùng đã phê duyệt trang web trước khi triển khai FedCM. Thay đổi này có thể ảnh hưởng đến tỷ lệ chuyển đổi trên trang web hiện tại của bạn khi sử dụng tính năng Một lần nhấn. Trong bản cập nhật Chrome M121, tính năng cải tiến Tự động đăng nhập giúp giảm thiểu vấn đề sụt giảm tỷ lệ chuyển đổi.

Đối với các trang đã bật tính năng Tự động đăng nhập và nếu đáp ứng các điều kiện này, thông tin xác thực mã thông báo nhận dạng của người dùng sẽ tự động được trả về mà không cần người dùng tương tác. Nếu các điều kiện này không được đáp ứng và ngay cả khi tính năng Tự động đăng nhập được bật trên trang, thì người dùng sẽ mặc định chuyển sang quy trình Một lần chạm để đăng nhập hoặc đồng ý. Nếu người dùng có nhiều Tài khoản Google và truy cập vào trang web của bạn, thì trước tiên, họ phải đăng nhập vào một Tài khoản Google và đã đồng ý cho tài khoản đó.

Bạn có thể đo lường tỷ lệ thành công của tính năng Tự động đăng nhập bằng cách sử dụng giá trị auto trong trường select_by của đối tượng CredentialResponse được trả về khi xử lý phản hồi trong lệnh gọi lại JavaScript (callback hoặc data-callback). select_by không có trong các yêu cầu HTTP POST được gửi đến login_uri hoặc data-login_uri.

Để bật tính năng tự động đăng nhập, hãy thêm data-auto_select="true" vào mã của bạn, như trong đoạn mã sau:

<div id="g_id_onload"
     data-client_id="YOUR_GOOGLE_CLIENT_ID"
     data-login_uri="https://your.domain/your_login_endpoint"
     data-auto_select="true">
</div>

Đăng xuất

Khi người dùng đăng xuất khỏi trang web của bạn, họ có thể được chuyển đến một trang tự động hiển thị lời nhắc của Google One Tap. Đối với chế độ thiết lập này, bạn phải cấm tính năng tự động chọn. Nếu không, người dùng sẽ tự động được đăng nhập lại, dẫn đến trải nghiệm người dùng lặp lại vô tận.

Sử dụng FedCM

Để cải thiện trải nghiệm người dùng, có một khoảng thời gian yên lặng 10 phút giữa mỗi lần đăng nhập tự động. Trong khoảng thời gian này, lời nhắc của tính năng Một lần chạm sẽ xuất hiện. Người dùng cần nhấp rõ ràng vào tính năng Đăng nhập bằng một lần chạm để đăng nhập.

Không có FedCM

Để không cho phép tự động chọn sau khi người dùng đăng xuất, hãy thêm tên lớp g_id_signout vào tất cả các đường liên kết và nút đăng xuất. Hãy xem đoạn mã sau:

<div class="g_id_signout">Sign Out</div>

Bạn cũng có thể sử dụng đoạn mã JavaScript sau đây để đăng xuất:

const button = document.getElementById('signout_button');
button.onclick = () => {
  google.accounts.id.disableAutoSelect();
}

Để ngăn chặn trải nghiệm người dùng lặp lại vô tận, trạng thái đăng xuất của người dùng được lưu trữ trong một cookie có tên là g_state do thư viện Dịch vụ nhận dạng của Google đặt. Theo mặc định, miền cookie được đặt thành miền của trang hiện tại. Nếu One Tap xuất hiện trên miền gốc và miền con, thì cookie trạng thái phải hiển thị trên tất cả miền của bạn. Sử dụng thuộc tính data-state_cookie_domain để đặt miền cookie g_state thành miền gốc của bạn. Ví dụ: thêm data-state_cookie_domain="example.com" vào phần tử g_id_onload cho miền gốc example.com và miền con có tên là webapp.example.com.

Nếu có một dịch vụ giám sát tất cả cookie được sử dụng trong miền của bạn, thì bạn cần thông báo cho họ về cookie g_state.

Nếu bạn không muốn tải thư viện ứng dụng trên các trang sau khi đăng nhập, hãy sử dụng các giải pháp sau để ngăn chặn trải nghiệm người dùng lặp lại sau khi đăng xuất:

  • Khi đăng xuất, hãy chuyển hướng người dùng đến một trang (ví dụ: https://example.com/logged_out) không hiển thị tính năng Đăng nhập bằng một lần chạm hoặc luôn tắt tính năng tự động đăng nhập.
  • Khi đăng xuất, hãy thêm một tham số vào URL. Ví dụ: logged_out=1. Khi hiển thị tính năng Một lần chạm bằng API JavaScript, hãy kiểm tra tham số URL đó và tắt tính năng tự động đăng nhập khi có tham số này.

Hành trình chính của người dùng

Trang tự động đăng nhập.

Sử dụng FedCM

Cửa sổ bật lên tự động đăng nhập của FedCM

Người dùng có thể đóng lời nhắc của tính năng Một lần chạm bằng cách nhấp vào nút X. Để hỗ trợ tiếp cận, mã thông báo giá trị nhận dạng sẽ được chia sẻ với trang web của bạn ngay cả khi người dùng nhấp vào nút X.

Để cải thiện trải nghiệm người dùng, có một khoảng thời gian yên lặng 10 phút giữa mỗi lần đăng nhập tự động. Trong khoảng thời gian này, lời nhắc của tính năng Một lần chạm sẽ xuất hiện. Người dùng cần nhấp rõ ràng vào tính năng Đăng nhập bằng một lần chạm để đăng nhập.

Không có FedCM

Ví dụ về cửa sổ bật lên tự động đăng nhập.

Nếu người dùng không nhấp vào nút Huỷ trong vòng 5 giây, thì mã thông báo nhận dạng sẽ được chia sẻ với trang web của bạn.

Khi người dùng huỷ Đăng nhập, dựa trên số phiên hoạt động trên Google, trang chọn tài khoản hoặc trang người dùng cũ sẽ xuất hiện.

  • Nhiều phiên hoạt động trên Google

Ví dụ về trang Chọn tài khoản

  • Phiên truy cập vào Google một lần

Trang người dùng cũ của tính năng Một lần chạm