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 Google One Tap.

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

Google One Tap hỗ trợ tính năng tự động đăng nhập, qua đó 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à khách truy cập 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ớ họ đã chọn Tài khoản Google nào trong lần truy cập gần đây nhất, nhờ đó giảm nguy cơ tạo ra các 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 nhằm 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ý hoặc chuyển đổi tài khoản theo cách thủ công chỉ diễn 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 xảy ra, cần có 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à
  • từng đồ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 vừa qua. Tính năng Một lần chạm sẽ hiển thị khi người dùng cố đăng nhập nhiều lần trong cửa sổ này.

Đối với những 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, hệ thống sẽ tự động trả về thông tin xác thực của mã nhận dạng khách truy cập mà không cần người dùng tương tác. Nếu không đáp ứng các điều kiện này và ngay cả khi tính năng Tự động đăng nhập đang bật trên trang, thì người dùng sẽ mặc định sử dụng quy trình Một lần chạm để đăng nhập hoặc đồng ý. Nếu một 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 duy nhất và phải đồng ý cho tài khoản đó.

Bạn có thể đo lường Tỷ lệ tự động đăng nhập thành công bằng cách sử dụng giá trị auto trong trường select_by của đối tượng thông tin xác thực được trả về.

Để 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ư minh hoạ 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 trang mà lời nhắc của Google One Tap sẽ tự động hiển thị. Đối với cách thiết lập này, tính năng tự động chọn phải bị cấm. Nếu không, người dùng sẽ tự động được đăng nhập lại, điều này dẫn đến trải nghiệm người dùng vòng lặp.

Sử dụng FedCM

Để cải thiện trải nghiệm người dùng, khoảng thời gian yên tĩnh là 10 phút giữa mỗi lần tự động đăng nhập. Trong khoảng thời gian này, màn hình sẽ hiển thị một lần chạm.

Không có FedCM

Để cấm tính năng 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 nút và đường liên kết đăng xuất của bạn. 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();
}

Do đó, trạng thái đăng xuất sẽ được ghi lại thông qua một cookie trong miền của bạn để tránh tình trạng vòng lặp không xác định.

Trạng thái đăng xuất được lưu trữ vào cookie g_state trong miền của bạn. Nếu có một dịch vụ giám sát tất cả các cookie dùng trong miền của mình, bạn cần thông báo cho họ về cookie này.

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 vòng lặp sau khi đăng xuất:

  • Khi đăng xuất, hãy chuyển hướng người dùng đến một trang (chẳng hạn như https://example.com/logged_out) tại đó tính năng Một lần chạm không hiển thị hoặc tính năng tự động đăng nhập luôn tắt.
  • 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 (nếu có).

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

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

Sử dụng FedCM

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

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

Không có FedCM

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 Cancel (Huỷ) trong vòng 5 giây, thì một mã thông báo sẽ được chia sẻ với trang web của bạn.

Khi quy trình Đăng nhập bị huỷ, dựa trên số lượng phiên hoạt động của Google, trang trình chọn tài khoản hoặc trang người dùng cũ sẽ hiển thị.

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

    Sử dụng FedCM

    Trang trình chọn tài khoản FedCM

    Không có FedCM

    Trang trình chọn tài khoản
  • Các phiên làm việc đơn lẻ của Google

    Sử dụng FedCM

    Trang dành cho người dùng cũ sử dụng tính năng Một lần chạm của FedCM

    Không có FedCM

    Trang dành cho người dùng cũ sử dụng tính năng Một lần chạm