Cảnh báo: Dữ liệu này được cung cấp theo Chính sách về dữ liệu người dùng của Google. Vui lòng xem xét và tuân thủ chính sách. Chúng tôi sẽ tạm ngưng dự án hoặc tài khoản của bạn nếu bạn không thực hiện việc này.

Đăng nhập bằng API HTML của Google

Trang tham chiếu này mô tả API các thuộc tính dữ liệu của HTML Đăng nhập bằng Google. Bạn có thể sử dụng API để hiển thị lời nhắc của One Tap hoặc nút Đăng nhập bằng Google trên các trang web của mình.

Phần tử có mã "g_id_onload"

Bạn có thể đặt các thuộc tính dữ liệu Đăng nhập bằng Google trong bất kỳ phần tử nào hiển thị hoặc không hiển thị, chẳng hạn như <div><span>. Yêu cầu duy nhất là mã phần tử được đặt thành g_id_onload. Không đặt mã này trên nhiều phần tử.

Thuộc tính dữ liệu

Bảng sau đây liệt kê các thuộc tính dữ liệu cùng với nội dung mô tả:

Thuộc tính
data-client_id Mã ứng dụng khách của ứng dụng
data-auto_prompt Hiển thị thao tác nhấn trên Google One.
data-auto_select Bật tính năng tự động chọn trên Google One Tap.
data-login_uri URL của điểm cuối đăng nhập
data-callback Tên hàm của trình xử lý mã thông báo JavaScript
data-native_login_uri URL của điểm cuối trình xử lý thông tin xác thực mật khẩu
data-native_callback Tên hàm của trình xử lý thông tin xác thực mật khẩu JavaScript
data-native_id_param Tên thông số cho giá trị credential.id
data-native_password_param Tên thông số cho giá trị credential.password
data-cancel_on_tap_outside Kiểm soát việc có hủy lời nhắc hay không nếu người dùng nhấp vào bên ngoài lời nhắc.
data-prompt_parent_id Mã DOM của phần tử vùng chứa lời nhắc bằng một lần nhấn
data-skip_prompt_cookie Bỏ qua One Tap nếu cookie được chỉ định có giá trị không trống.
data-nonce Một chuỗi ngẫu nhiên cho mã thông báo của mã nhận dạng
data-context Tên và từ trong lời nhắc bằng một lần chạm
data-moment_callback Tên hàm của trình xử lý thông báo trạng thái giao diện người dùng lời nhắc
data-state_cookie_domain Nếu bạn cần gọi One Tap trong miền gốc và miền con của miền này, hãy chuyển miền gốc đến thuộc tính này để sử dụng một cookie được chia sẻ.
data-ux_mode Quy trình trải nghiệm người dùng của nút Đăng nhập bằng Google
data-allowed_parent_origin Các nguồn gốc được phép nhúng iframe trung gian. Một lần nhấn sẽ chạy ở chế độ iframe trung gian nếu thuộc tính này hiển thị.
data-intermediate_iframe_close_callback Ghi đè hành vi iframe trung gian mặc định khi người dùng đóng One bằng cách thủ công.
data-itp_support Bật Trải nghiệm người dùng một lần nâng cấp trên các trình duyệt ITP.

Loại thuộc tính

Các phần sau đây chứa thông tin chi tiết về từng loại thuộc tính và ví dụ.

data-client_id [mã_khách_hàng_dữ_liệu]

Thuộc tính này là mã ứng dụng của ứng dụng của bạn. Mã này được tìm thấy và tạo trong Google Developers Console. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string data-client_id="CLIENT_ID.apps.googleusercontent.com"

data-auto_prompt

Thuộc tính này xác định liệu có hiển thị một lần nhấn hay không. Giá trị mặc định là true. Nhấn vào Google One sẽ không hiển thị khi giá trị này là false. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
boolean Không bắt buộc data-auto_prompt="true"

data-auto_select [dữ_liệu_tự_động_chọn]

Thuộc tính này xác định liệu có tự động trả về mã thông báo mã nhận dạng mà không có bất kỳ hoạt động tương tác nào của người dùng hay không nếu chỉ có một phiên hoạt động trên Google được phê duyệt ứng dụng của bạn. Giá trị mặc định là false. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
boolean Không bắt buộc data-auto_select="true"

data-login_uri

Thuộc tính này là URI của điểm cuối đăng nhập. Có thể bỏ qua nếu trang hiện tại là trang đăng nhập của bạn. Trong trường hợp đó, thông tin đăng nhập được đăng lên trang này theo mặc định.

Phản hồi thông tin xác thực mã thông báo ID được đăng lên điểm cuối đăng nhập của bạn khi không có lệnh gọi lại nào được xác định và người dùng nhấp vào nút Đăng nhập bằng Google hoặc Một lần nhấn hoặc diễn ra tính năng ký tự động.

Hãy xem bảng sau để biết thêm thông tin:

Loại Không bắt buộc Ví dụ:
URL Giá trị mặc định là URI của trang hiện tại hoặc giá trị bạn chỉ định.
Bỏ qua khi đặt data-ux_mode="popup"data-callback.
data-login_uri="https://www.example.com/login"

Điểm cuối đăng nhập của bạn phải xử lý các yêu cầu POST chứa khóa credential có giá trị mã thông báo nhận dạng trong phần nội dung.

Sau đây là yêu cầu mẫu cho điểm cuối đăng nhập:

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

gọi lại dữ liệu

Thuộc tính này là tên của hàm JavaScript xử lý mã thông báo ID được trả về. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Bắt buộc nếu bạn không đặt data-login_uri. data-callback="handleToken"

Bạn có thể sử dụng một trong các thuộc tính data-login_uridata-callback. Điều này phụ thuộc vào các thành phần sau và cấu hình chế độ trải nghiệm người dùng:

  • Thuộc tính data-login_uri là bắt buộc đối với nút Đăng nhập bằng Google Chế độ trải nghiệm người dùng redirect, chế độ này sẽ bỏ qua thuộc tính data-callback.

  • Một trong hai thuộc tính này phải được đặt cho Google One Tap và nút Đăng nhập bằng Google Chế độ trải nghiệm popup. Nếu bạn đặt cả hai, thuộc tính data-callback sẽ có mức độ ưu tiên cao hơn.

API HTML không hỗ trợ các hàm JavaScript trong vùng chứa tên. Thay vào đó, hãy dùng hàm JavaScript toàn bộ mà không có vùng chứa tên. Ví dụ: sử dụng mylibCallback thay vì mylib.callback.

data-native_login_uri

Thuộc tính này là URL của điểm cuối trình xử lý thông tin xác thực mật khẩu. Nếu bạn đặt thuộc tính data-native_login_uri hoặc thuộc tính data-native_callback, thư viện JavaScript sẽ trở về trình quản lý thông tin đăng nhập gốc khi không có phiên Google. Bạn không được phép đặt cả thuộc tính data-native_callbackdata-native_login_uri. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-login_uri="https://www.example.com/password_login"

data-origin_callback

Thuộc tính này là tên của hàm JavaScript xử lý mật khẩu được trả về từ trình quản lý thông tin đăng nhập gốc của trình duyệt. Nếu bạn đặt thuộc tính data-native_login_uri hoặc thuộc tính data-native_callback, thì thư viện JavaScript sẽ trở về trình quản lý thông tin đăng nhập gốc khi không có phiên Google nào. Bạn không được phép đặt cả data-native_callbackdata-native_login_uri. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-native_callback="handlePasswordCredential"

API HTML không hỗ trợ các hàm JavaScript trong vùng chứa tên. Thay vào đó, hãy dùng hàm JavaScript toàn bộ mà không có vùng chứa tên. Ví dụ: sử dụng mylibCallback thay vì mylib.callback.

data-origin_id_param

Khi gửi thông tin đăng nhập mật khẩu đến điểm cuối của trình xử lý thông tin mật khẩu, bạn có thể chỉ định tên thông số cho trường credential.id. Tên mặc định là email. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
URL Không bắt buộc data-native_id_param="user_id"

data- gốc_password_param

Khi gửi thông tin đăng nhập mật khẩu đến điểm cuối của trình xử lý thông tin mật khẩu, bạn có thể chỉ định tên thông số cho giá trị credential.password. Tên mặc định là password. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
URL Không bắt buộc data-native_password_param="pwd"

data-cancel_on_tap_external

Thuộc tính này cho biết liệu có nên hủy yêu cầu One Tap hay không nếu người dùng nhấp vào bên ngoài lời nhắc. Giá trị mặc định là true. Để tắt tính năng này, hãy đặt giá trị thành false. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
boolean Không bắt buộc data-cancel_on_tap_outside="false"

data-Prompt_parent_id

Thuộc tính này thiết lập mã DOM của phần tử vùng chứa. Nếu bạn không đặt chính sách này, thì lời nhắc Nhấn một lần sẽ hiển thị ở góc trên cùng bên phải của cửa sổ. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-prompt_parent_id="parent_id"

Thuộc tính này bỏ qua One Tap nếu cookie được chỉ định có giá trị không trống. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-skip_prompt_cookie="SID"

dữ liệu-một lần

Thuộc tính này là một chuỗi ngẫu nhiên được mã thông báo ID sử dụng để ngăn chặn các cuộc tấn công phát lại. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-nonce="biaqbm70g23"

Độ dài của nonces được giới hạn ở kích thước JWT tối đa được môi trường của bạn hỗ trợ, cũng như các hạn chế về kích thước HTTP của trình duyệt và máy chủ cá nhân.

ngữ cảnh dữ liệu

Thuộc tính này thay đổi văn bản của tiêu đề và thông báo hiển thị trong lời nhắc của chế độ Nhấn. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-context="use"

Bảng sau đây liệt kê các ngữ cảnh hiện có và nội dung mô tả về các ngữ cảnh:

Bối cảnh
signin "Đăng nhập bằng Google"
signup "Đăng ký với Google"
use "Sử dụng với Google"

data-moment_callback

Thuộc tính này là tên hàm của trình xử lý thông báo trạng thái giao diện người dùng lời nhắc. Để biết thêm thông tin, hãy tham khảo loại dữ liệu PromptMomentNotification. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-moment_callback="logMomentNotification"

API HTML không hỗ trợ các hàm JavaScript trong vùng chứa tên. Thay vào đó, hãy dùng hàm JavaScript toàn bộ mà không có vùng chứa tên. Ví dụ: sử dụng mylibCallback thay vì mylib.callback.

Nếu bạn cần hiển thị One Tap trong miền gốc và miền con của miền này, hãy chuyển miền gốc vào thuộc tính này để sử dụng một cookie trạng thái được chia sẻ duy nhất. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-state_cookie_domain="example.com"

data-ux_mode

Thuộc tính này thiết lập quy trình trải nghiệm người dùng mà nút Đăng nhập bằng Google sử dụng. Giá trị mặc định là popup. Thuộc tính này không ảnh hưởng đến trải nghiệm người dùng bằng một lần chạm. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-ux_mode="redirect"

Bảng sau đây liệt kê những chế độ trải nghiệm người dùng có sẵn và nội dung mô tả.

Chế độ trải nghiệm người dùng
popup Thực hiện quy trình đăng nhập trải nghiệm người dùng trong cửa sổ bật lên.
redirect Thực hiện quy trình đăng nhập trải nghiệm người dùng bằng cách chuyển hướng toàn trang.

data-allowed_parent_origin

Các nguồn gốc được phép nhúng iframe trung gian. Một lần nhấn sẽ chạy ở chế độ iframe trung gian nếu thuộc tính này hiển thị. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
chuỗi hoặc mảng chuỗi Không bắt buộc data-allowed_parent_origin="https://example.com"

Bảng sau đây liệt kê các loại giá trị được hỗ trợ và nội dung mô tả.

Loại giá trị
string Một URI miền duy nhất. "https://example.com"
string array Danh sách các URI miền được phân tách bằng dấu phẩy. "https://news.example.com,https://local.example.com"

Nếu giá trị của thuộc tính data-allowed_parent_origin không hợp lệ, thì hoạt động khởi chạy một lượt nhấn của chế độ iframe trung gian sẽ không thành công và dừng lại.

Tiền tố ký tự đại diện cũng được hỗ trợ. Ví dụ: "https://*.example.com" sẽ khớp với example.com và các miền con của miền này ở tất cả các cấp (ví dụ: news.example.com, login.news.example.com). Những điều cần lưu ý khi sử dụng ký tự đại diện:

  • Chuỗi mẫu không được chỉ bao gồm ký tự đại diện và miền cấp cao nhất. Ví dụ: https://*.comhttps://*.co.uk là không hợp lệ; Như đã lưu ý ở trên, "https://*.example.com" sẽ khớp với example.com và các miền con của miền này. Bạn cũng có thể sử dụng một danh sách được phân tách bằng dấu phẩy để đại diện cho 2 miền khác nhau. Ví dụ: "https://example1.com,https://*.example2.com" sẽ khớp với các miền example1.com, example2.com và miền con của example2.com
  • Các miền có ký tự đại diện phải bắt đầu bằng một giao thức https:// bảo mật. "*.example.com" sẽ bị coi là không hợp lệ.

data-intermediate_iframe_close_callback

Ghi đè hành vi iframe trung gian mặc định khi người dùng đóng Một lần nhấn bằng cách nhấn vào nút #35;X\39; trong giao diện người dùng One Tap. Hoạt động mặc định là xóa iframe trung gian khỏi DOM ngay lập tức.

Trường data-intermediate_iframe_close_callback chỉ có hiệu lực ở chế độ iframe trung gian. Ngoài ra, nó chỉ có tác động đến iframe trung gian, thay vì iframe One Tap. Giao diện người dùng Một lần chạm bị xóa trước khi lệnh gọi lại được gọi.

Loại Bắt buộc Ví dụ:
hàm Không bắt buộc data-intermediate_iframe_close_callback="logBeforeClose"

API HTML không hỗ trợ các hàm JavaScript trong vùng chứa tên. Thay vào đó, hãy dùng hàm JavaScript toàn bộ mà không có vùng chứa tên. Ví dụ: sử dụng mylibCallback thay vì mylib.callback.

hỗ trợ data-itp_

Trường này xác định liệu Trải nghiệm người dùng một lần nâng cấp có được bật trên các trình duyệt hỗ trợ tính năng Theo dõi thông minh hay không (ITP). Giá trị mặc định là false. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
boolean Không bắt buộc data-itp_support="true"

Phần tử có lớp "g_id_signin"

Nếu bạn thêm g_id_signin vào thuộc tính class của một phần tử, thì phần tử đó sẽ hiển thị dưới dạng nút Đăng nhập bằng Google.

Bạn có thể hiển thị nhiều nút Đăng nhập bằng Google trên cùng một trang. Mỗi nút có thể có chế độ cài đặt hình ảnh riêng. Các chế độ cài đặt được xác định bằng các thuộc tính dữ liệu sau.

Thuộc tính dữ liệu hình ảnh

Bảng sau đây liệt kê các thuộc tính dữ liệu hình ảnh và nội dung mô tả:

Thuộc tính
data-type Loại nút: biểu tượng hoặc nút tiêu chuẩn.
data-theme Giao diện nút. Ví dụ: Fill_blue hoặc Fill_black.
data-size Kích thước nút. Ví dụ: nhỏ hoặc lớn.
data-text Văn bản nút. Ví dụ: "Đăng nhập bằng Google" hoặc "Đăng ký bằng Google".
data-shape Hình dạng nút. Ví dụ: hình chữ nhật hoặc hình tròn.
data-logo_alignment Căn chỉnh biểu tượng của Google: bên trái hoặc giữa.
data-width Chiều rộng của nút, tính bằng pixel.
data-locale Văn bản của nút hiển thị bằng ngôn ngữ được đặt trong thuộc tính này.

Loại thuộc tính

Các phần sau đây chứa thông tin chi tiết về từng loại thuộc tính và ví dụ.

loại dữ liệu

Loại nút. Giá trị mặc định là standard. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string data-type="icon"

Bảng sau đây liệt kê các loại nút có sẵn và nội dung mô tả tương ứng:

Loại
standard Một nút có văn bản hoặc thông tin được cá nhân hóa:
icon Nút biểu tượng không có văn bản:

chủ đề dữ liệu

Giao diện nút. Giá trị mặc định là outline. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-theme="filled_blue"

Bảng sau đây liệt kê các chủ đề có sẵn và nội dung mô tả về các chủ đề đó:

Giao diện
outline Giao diện nút tiêu chuẩn:
Nút tiêu chuẩn có nền trắng Nút biểu tượng có nền trắng Nút được cá nhân hóa với nền trắng
filled_blue Giao diện nút có màu xanh dương:
Nút tiêu chuẩn có nền màu xanh lam Nút biểu tượng có nền màu xanh lam Nút được cá nhân hóa với nền màu xanh lam
filled_black Giao diện nút có màu đen:
Nút tiêu chuẩn có nền đen Nút biểu tượng có nền màu đen Nút được cá nhân hóa với nền đen

kích thước dữ liệu

Kích thước nút. Giá trị mặc định là large. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-size="small"

Bảng sau liệt kê các kích thước nút có sẵn và nội dung mô tả.

Kích thước
large Một nút lớn:
Một nút tiêu chuẩn lớn Một nút biểu tượng lớn Một nút lớn và được cá nhân hóa
medium Nút có kích thước trung bình:
Nút tiêu chuẩn trung bình Nút biểu tượng phương tiện
small Một nút nhỏ:
Một nút nhỏ Một nút biểu tượng nhỏ

văn bản dữ liệu

Văn bản nút. Giá trị mặc định là signin_with. Không có sự khác biệt về hình ảnh đối với văn bản của các nút biểu tượng có các thuộc tính data-text khác nhau. Trường hợp ngoại lệ duy nhất là khi văn bản được đọc để hỗ trợ tiếp cận trên màn hình.

Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-text="signup_with"

Bảng sau đây liệt kê các văn bản nút có sẵn và nội dung mô tả tương ứng:

Văn bản
signin_with Văn bản nút là “Đăng nhập bằng Google”:
Nút tiêu chuẩn có nhãn \33;Đăng nhập bằng Google\39; Nút biểu tượng không có văn bản hiển thị
signup_with Văn bản nút là “Đăng ký bằng Google”:
Nút tiêu chuẩn có nhãn \39;Đăng ký Google\39; Nút biểu tượng không có văn bản hiển thị
continue_with Văn bản nút là “Tiếp tục bằng Google”:
Nút tiêu chuẩn có nhãn & # 39; Tiếp tục với Google\39; Nút biểu tượng không có văn bản hiển thị
signin Văn bản nút là “Đăng nhập”:
Nút tiêu chuẩn có nhãn &#39; Đăng nhập&#39; Nút biểu tượng không có văn bản hiển thị

hình dạng dữ liệu

Hình dạng nút. Giá trị mặc định là rectangular. Xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-shape="rectangular"

Bảng sau đây liệt kê các hình dạng nút có sẵn và nội dung mô tả tương ứng:

Hình dạng
rectangular Nút hình chữ nhật. Nếu bạn dùng loại nút icon, thì nút này giống với square.
Một nút tiêu chuẩn hình chữ nhật Nút biểu tượng hình chữ nhật Một nút cá nhân hóa hình chữ nhật
pill Nút hình viên thuốc. Nếu bạn dùng loại icon, thì nút đó giống với circle.
Nút tiêu chuẩn hình viên thuốc Nút biểu tượng hình viên thuốc Nút được cá nhân hóa hình viên thuốc
circle Nút hình tròn. Nếu bạn dùng loại standard, thì nút này giống với pill.
Nút tiêu chuẩn hình tròn Nút biểu tượng hình tròn Nút cá nhân hóa hình tròn
square Nút hình vuông. Nếu bạn dùng loại standard, thì nút này giống với rectangular.
Nút tiêu chuẩn hình vuông Nút biểu tượng hình vuông Nút hình vuông được cá nhân hóa

dữ liệu biểu trưng-dữ liệu

Căn chỉnh biểu trưng của Google. Giá trị mặc định là left. Thuộc tính này chỉ áp dụng cho loại nút standard. Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-logo_alignment="center"

Bảng sau đây liệt kê các cách căn chỉnh hiện có và nội dung mô tả tương ứng:

căn chỉnh biểu trưng
left Căn trái biểu trưng của Google:
Một nút tiêu chuẩn có biểu trưng G ở bên trái
center Căn giữa biểu trưng của Google:
Nút tiêu chuẩn có biểu trưng G ở giữa

chiều rộng dữ liệu

Chiều rộng nút tối thiểu, tính bằng pixel. Chiều rộng tối đa hiện có là 400 pixel.

Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-width=400

data-region

Ngôn ngữ đặt trước của văn bản nút. Nếu bạn không đặt chính sách này, thì ngôn ngữ mặc định của trình duyệt hoặc tùy chọn của người dùng trong phiên hoạt động trên Google sẽ được sử dụng. Do đó, những người dùng khác nhau có thể thấy các phiên bản khác nhau của các nút đã bản địa hóa và có thể có các kích thước khác nhau.

Hãy xem bảng sau để biết thêm thông tin:

Loại Bắt buộc Ví dụ:
string Không bắt buộc data-locale="zh_CN"

Tích hợp phía máy chủ

Điểm cuối phía máy chủ của bạn phải xử lý các yêu cầu HTTP POST sau đây.

Điểm cuối trình xử lý mã thông báo

Điểm cuối của trình xử lý mã nhận dạng sẽ xử lý mã thông báo mã nhận dạng. Dựa vào trạng thái của tài khoản tương ứng, bạn có thể đăng nhập và đăng nhập người dùng tới trang đăng ký hoặc đưa họ đến một trang liên kết tài khoản để biết thêm thông tin.

Yêu cầu HTTP POST có chứa các thông tin sau:

Định dạng Tên Mô tả
Bánh quy g_csrf_token Một chuỗi ngẫu nhiên thay đổi theo từng yêu cầu đến điểm cuối của trình xử lý.
Tham số yêu cầu g_csrf_token Một chuỗi giống với giá trị cookie trước, g_csrf_token.
Tham số yêu cầu credential Mã nhận dạng mà Google cấp.
Tham số yêu cầu select_by Cách thông tin đăng nhập được chọn.

Khi được giải mã, mã thông báo nhận dạng sẽ có dạng như ví dụ sau:

header
{
  "alg": "RS256",
  "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature
  "typ": "JWT"
}
payload
{
  "iss": "https://accounts.google.com", // The JWT's issuer
  "nbf":  161803398874,
  "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID
  "sub": "3141592653589793238", // The unique ID of the user's Google Account
  "hd": "gmail.com", // If present, the host domain of the user's GSuite email address
  "email": "elisa.g.beckett@gmail.com", // The user's email address
  "email_verified": true, // true, if Google has verified the email address
  "azp": "314159265-pi.apps.googleusercontent.com",
  "name": "Elisa Beckett",
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler",
  "given_name": "Eliza",
  "family_name": "Beckett",
  "iat": 1596474000, // Unix timestamp of the assertion's creation time
  "exp": 1596477600, // Unix timestamp of the assertion's expiration time
  "jti": "abc161803398874def"
}

Bảng sau đây liệt kê các giá trị có thể có cho trường select_by. Loại nút sử dụng cùng với phiên và trạng thái đồng ý được dùng để đặt giá trị,

  • Người dùng đã nhấn nút Một lần chạm hoặc Đăng nhập bằng Google hoặc sử dụng quy trình Đăng nhập tự động không cần chạm.

  • Đã tìm thấy một phiên hiện có hoặc người dùng đã chọn và đăng nhập vào Tài khoản Google để thiết lập một phiên mới.

  • Trước khi chia sẻ thông tin đăng nhập mã thông báo nhận dạng với ứng dụng của bạn, người dùng

    • đã nhấn nút Xác nhận để đồng ý chia sẻ thông tin xác thực hoặc
    • trước đây đã đồng ý và sử dụng tính năng Chọn một tài khoản để chọn một Tài khoản Google.

Giá trị của trường này được đặt thành một trong những loại sau,

Giá trị Mô tả
auto Tự động đăng nhập của người dùng đang sử dụng phiên hoạt động, trước đó đã đồng ý chia sẻ thông tin đăng nhập.
user Một người dùng hiện đang sử dụng một phiên hoạt động và đã từng đồng ý đã nhấn nút "Nhấn" một lần để tiếp tục dùng chung thông tin đăng nhập.
user_1tap Người dùng đang sử dụng phiên đã nhấn nút Một lần & #39;Tiếp tục với tên\39; để đồng ý và chia sẻ thông tin xác thực. Chỉ áp dụng cho Chrome phiên bản 75 trở lên.
user_2tap Người dùng không có phiên hoạt động hiện có đã nhấn nút One Tap \39;Continue as\39; để chọn một tài khoản, sau đó nhấn nút Xác nhận trong cửa sổ bật lên để đồng ý và chia sẻ thông tin xác thực. Áp dụng cho các trình duyệt không dựa trên Chromium.
btn Một người dùng hiện có một phiên hoạt động và đã đồng ý đã nhấn nút Đăng nhập bằng Google rồi chọn một Tài khoản Google trên \39;Chọn một Tài khoản\39; để chia sẻ thông tin xác thực.
btn_confirm Người dùng đang sử dụng phiên đã nhấn nút Đăng nhập bằng Google rồi nhấn nút Xác nhận để đồng ý và chia sẻ thông tin xác thực.
btn_add_session Người dùng không có phiên hiện tại (trước đây đã đồng ý) đã nhấn nút Đăng nhập bằng Google để chọn Tài khoản Google và chia sẻ thông tin đăng nhập.
btn_confirm_add_session Trước tiên, người dùng chưa có phiên nào sẽ nhấn nút Đăng nhập bằng Google để chọn một Tài khoản Google, sau đó nhấn nút Xác nhận để đồng ý và chia sẻ thông tin xác thực.

Điểm cuối trình xử lý thông tin xác thực mật khẩu

Điểm cuối của trình xử lý thông tin xác thực mật khẩu xử lý thông tin xác thực của mật khẩu mà trình quản lý thông tin đăng nhập gốc truy xuất.

Yêu cầu HTTP POST có chứa các thông tin sau:

Định dạng Tên Mô tả
Bánh quy g_csrf_token Một chuỗi ngẫu nhiên thay đổi theo từng yêu cầu đến điểm cuối của trình xử lý.
Tham số yêu cầu g_csrf_token Một chuỗi giống với giá trị cookie trước, g_csrf_token.
Tham số yêu cầu email Mã này là do Google phát hành.
Tham số yêu cầu password Cách thông tin đăng nhập được chọn.