Thư viện JavaScript của Bên thứ ba ủy quyền cho trang web – Tài liệu tham khảo API

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Tài liệu tham khảo này mô tả API Thư viện JavaScript cho phép bên thứ ba của Google. Bạn có thể sử dụng API này để tải mã uỷ quyền hoặc truy cập mã thông báo từ Google.

Phương thức: google.accounts.OAuth2.initCodeClient

Phương thức initCodeClient khởi chạy và trả về một ứng dụng mã, với các cấu hình trong thông số.

google.accounts.oauth2.initCodeClient(config: CodeClientConfig)

Loại dữ liệu: CodeClientConfig

Bảng sau đây liệt kê các thuộc tính của loại dữ liệu CodeClientConfig.

Thuộc tính
client_id Bắt buộc. Mã ứng dụng khách cho ứng dụng của bạn. Bạn có thể tìm thấy giá trị này trong Bảng điều khiển API.
scope Bắt buộc. Danh sách phạm vi được phân tách bằng dấu cách xác định các tài nguyên mà ứng dụng của bạn có thể thay mặt người dùng truy cập. Những giá trị này thể hiện trên màn hình xin phép mà Google hiển thị cho người dùng.
include_granted_scopes Không bắt buộc, mặc định là true. Cho phép các ứng dụng dùng lệnh uỷ quyền tăng dần để yêu cầu quyền truy cập vào các phạm vi bổ sung trong ngữ cảnh. Nếu bạn đặt giá trị của thông số này thành false và yêu cầu uỷ quyền được cấp, thì mã truy cập mới sẽ chỉ bao gồm mọi phạm vi mà scope đã yêu cầu trong CodeClientConfig này.
redirect_uri Bắt buộc đối với trải nghiệm người dùng chuyển hướng. Xác định vị trí máy chủ API chuyển hướng người dùng sau khi người dùng hoàn tất quy trình uỷ quyền. Giá trị phải khớp chính xác với một trong các URI chuyển hướng được uỷ quyền cho ứng dụng OAuth 2.0 mà bạn đã định cấu hình trong Bảng điều khiển API và phải tuân thủ các quy tắc xác thực URI chuyển hướng. Thuộc tính này sẽ bỏ qua giao diện người dùng bật lên.
callback Bắt buộc đối với trải nghiệm người dùng bật lên. Hàm JavaScript xử lý phản hồi mã được trả về. Trải nghiệm người dùng chuyển hướng sẽ bỏ qua thuộc tính này.
state Không bắt buộc. Nên dùng để chuyển hướng trải nghiệm người dùng. Chỉ định mọi giá trị chuỗi mà ứng dụng sử dụng để duy trì trạng thái giữa yêu cầu uỷ quyền và phản hồi của máy chủ uỷ quyền.
enable_serial_consent Không bắt buộc, mặc định là true. Nếu bạn đặt thành false, các quyền trong Tài khoản Google chi tiết hơn sẽ bị vô hiệu hoá đối với các mã ứng dụng khách OAuth được tạo trước năm 2019. Không có ảnh hưởng đối với các mã ứng dụng khách OAuth mới vì các quyền chi tiết hơn luôn được bật cho các mã này.
hint Không bắt buộc. Nếu biết ứng dụng nào sẽ ủy quyền cho yêu cầu, thì ứng dụng có thể sử dụng thuộc tính này để cung cấp gợi ý cho Google. Địa chỉ email của người dùng đích. Để biết thêm thông tin, hãy xem trường login_hint trong tài liệu về Connect Connect.
hosted_domain Không bắt buộc. Nếu ứng dụng của bạn biết miền Workspace của người dùng, hãy sử dụng miền này để cung cấp gợi ý cho Google. Để biết thêm thông tin, hãy xem trường hd trong tài liệu về Connect Connect.
ux_mode Không bắt buộc. Chế độ trải nghiệm người dùng để dùng cho quy trình uỷ quyền. Theo mặc định, cửa sổ này sẽ mở quy trình đồng ý trong cửa sổ bật lên. Các giá trị hợp lệ là popupredirect.
select_account Không bắt buộc, mặc định là 'false'. Giá trị Boolean để nhắc người dùng chọn một tài khoản.
error_callback Không bắt buộc. Hàm JavaScript xử lý một số lỗi không phải OAuth, chẳng hạn như cửa sổ bật lên không mở được; hoặc bị đóng trước khi phản hồi OAuth được trả về.

Trường `type` của tham số nhập cho biết lý do chi tiết.
  • pop_fail_to_open Không mở được cửa sổ bật lên.
  • pop_closed Cửa sổ bật lên bị đóng trước khi phản hồi OAuth được trả về.
  • Unknown dành cho các lỗi khác.

Loại dữ liệu: CodeClient

Lớp chỉ có một mã yêu cầu phương thức công khai, quy trình này sẽ bắt đầu quy trình trải nghiệm người dùng của Mã OAuth 2.0.

interface CodeClient {
  requestCode(): void;
}

Loại dữ liệu: CodeResponse

Đối tượng JavaScript CodeResponse sẽ được chuyển đến phương thức callback của bạn trong trải nghiệm người dùng bật lên. Trong trải nghiệm người dùng chuyển hướng, CodeResponse sẽ được chuyển dưới dạng tham số URL.

Bảng sau đây liệt kê các thuộc tính của loại dữ liệu CodeResponse.

Thuộc tính
code Mã uỷ quyền của một phản hồi mã thông báo thành công.
scope Danh sách những phạm vi được phân tách bằng dấu cách đã được người dùng phê duyệt.
state Giá trị chuỗi mà ứng dụng của bạn sử dụng để duy trì trạng thái giữa yêu cầu uỷ quyền và phản hồi.
error Một mã lỗi ASCII.
error_description Văn bản ASCII mà người dùng có thể đọc được, cung cấp thêm thông tin dùng để hỗ trợ nhà phát triển ứng dụng khách hiểu lỗi xảy ra.
error_uri Một URI xác định trang web mà con người có thể đọc được và có thông tin về lỗi, dùng để cung cấp thêm thông tin về lỗi cho nhà phát triển ứng dụng khách.

Phương thức: google.accounts.OAuth2.initTokenClient

Phương thức initTokenClient khởi chạy và trả về một ứng dụng mã thông báo, với các cấu hình trong thông số.

google.accounts.oauth2.initTokenClient(config: TokenClientConfig)

Loại dữ liệu: tokenClientConfig

Bảng sau đây liệt kê các thuộc tính của loại dữ liệu TokenClientConfig.

Thuộc tính
client_id Bắt buộc. Mã ứng dụng khách cho ứng dụng của bạn. Bạn có thể tìm thấy giá trị này trong API Console.
callback Bắt buộc. Hàm JavaScript xử lý phản hồi của mã thông báo được trả về.
scope Bắt buộc. Danh sách phạm vi được phân tách bằng dấu cách xác định các tài nguyên mà ứng dụng của bạn có thể thay mặt người dùng truy cập. Những giá trị này thể hiện trên màn hình xin phép mà Google hiển thị cho người dùng.
include_granted_scopes Không bắt buộc, mặc định là true. Cho phép các ứng dụng dùng lệnh uỷ quyền tăng dần để yêu cầu quyền truy cập vào các phạm vi bổ sung trong ngữ cảnh. Nếu bạn đặt giá trị của thông số này thành false và yêu cầu uỷ quyền được cấp, thì mã truy cập mới sẽ chỉ bao gồm mọi phạm vi mà scope đã yêu cầu trong TokenClientConfig này.
prompt Không bắt buộc, mặc định là 'select_account'. Danh sách lời nhắc phân biệt chữ hoa chữ thường, phân tách bằng dấu cách để trình bày cho người dùng. Các giá trị có thể sử dụng là:
  • chuỗi trống Người dùng sẽ chỉ được nhắc trong lần đầu tiên ứng dụng của bạn yêu cầu quyền truy cập. Không thể chỉ định với các giá trị khác.
  • "none" Không hiển thị màn hình xác thực hoặc màn hình xin phép. Không được chỉ định cùng với các giá trị khác.
  • 'consent' Nhắc người dùng đồng ý.
  • 'select_account' Nhắc người dùng chọn tài khoản.
enable_serial_consent Không bắt buộc, mặc định là true. Nếu bạn đặt thành false, các quyền trong Tài khoản Google chi tiết hơn sẽ bị vô hiệu hoá đối với các mã ứng dụng khách OAuth được tạo trước năm 2019. Không có ảnh hưởng đối với các mã ứng dụng khách OAuth mới vì các quyền chi tiết hơn luôn được bật cho các mã này.
hint Không bắt buộc. Nếu biết ứng dụng nào sẽ ủy quyền cho yêu cầu, thì ứng dụng có thể sử dụng thuộc tính này để cung cấp gợi ý cho Google. Địa chỉ email của người dùng đích. Để biết thêm thông tin, hãy xem trường login_hint trong tài liệu về Connect Connect.
hosted_domain Không bắt buộc. Nếu ứng dụng của bạn biết miền Workspace của người dùng, hãy sử dụng miền này để cung cấp gợi ý cho Google. Để biết thêm thông tin, hãy xem trường hd trong tài liệu về Connect Connect.
state Không bắt buộc. Không nên. Chỉ định mọi giá trị chuỗi mà ứng dụng sử dụng để duy trì trạng thái giữa yêu cầu uỷ quyền và phản hồi của máy chủ uỷ quyền.
error_callback Không bắt buộc. Hàm JavaScript xử lý một số lỗi không phải OAuth, chẳng hạn như cửa sổ bật lên không mở được; hoặc bị đóng trước khi phản hồi OAuth được trả về.

Trường `type` của tham số nhập cho biết lý do chi tiết.
  • pop_fail_to_open Không mở được cửa sổ bật lên.
  • pop_closed Cửa sổ bật lên bị đóng trước khi phản hồi OAuth được trả về.
  • Unknown dành cho các lỗi khác.

Loại dữ liệu: tokenClient

Lớp này chỉ có một phương thức công khai requestAccessToken, lớp này bắt đầu quy trình trải nghiệm người dùng Mã thông báo OAuth 2.0.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Đối số
overrideConfig OverridableTokenClientConfig Không bắt buộc. Các cấu hình sẽ bị ghi đè trong phương thức này.

Loại dữ liệu: OverridableTokenClientConfig

Bảng sau đây liệt kê các thuộc tính của loại dữ liệu OverridableTokenClientConfig.

Thuộc tính
scope Không bắt buộc. Danh sách các phạm vi phân tách bằng dấu cách xác định những tài nguyên mà ứng dụng của bạn có thể truy cập thay mặt người dùng. Những giá trị này thông báo cho màn hình về sự đồng ý mà Google hiển thị cho người dùng.
include_granted_scopes Không bắt buộc, mặc định là true. Cho phép các ứng dụng dùng lệnh uỷ quyền tăng dần để yêu cầu quyền truy cập vào các phạm vi bổ sung trong ngữ cảnh. Nếu bạn đặt giá trị của thông số này thành false và yêu cầu uỷ quyền được cấp, thì mã truy cập mới sẽ chỉ bao gồm mọi phạm vi mà scope đã yêu cầu trong OverridableTokenClientConfig này.
prompt Không bắt buộc. Danh sách lời nhắc phân biệt chữ hoa chữ thường, phân tách bằng dấu cách để trình bày cho người dùng.
enable_serial_consent Không bắt buộc, mặc định là true. Nếu bạn đặt thành false, các quyền trong Tài khoản Google chi tiết hơn sẽ bị vô hiệu hoá đối với các mã ứng dụng khách OAuth được tạo trước năm 2019. Không có ảnh hưởng đối với các mã ứng dụng khách OAuth mới vì các quyền chi tiết hơn luôn được bật cho các mã này.
hint Không bắt buộc. Nếu biết ứng dụng nào sẽ ủy quyền cho yêu cầu, thì ứng dụng có thể sử dụng thuộc tính này để cung cấp gợi ý cho Google. Địa chỉ email của người dùng đích. Để biết thêm thông tin, hãy xem trường login_hint trong tài liệu về Connect Connect.
state Không bắt buộc. Không nên. Chỉ định mọi giá trị chuỗi mà ứng dụng sử dụng để duy trì trạng thái giữa yêu cầu uỷ quyền và phản hồi của máy chủ uỷ quyền.

Loại dữ liệu: tokenResponse

Đối tượng JavaScript TokenResponse sẽ được chuyển đến phương thức gọi lại của bạn trong trải nghiệm người dùng bật lên.

Bảng sau đây liệt kê các thuộc tính của loại dữ liệu TokenResponse.

Thuộc tính
access_token Mã truy cập của một phản hồi mã thông báo thành công.
expires_in Thời gian tồn tại tính bằng giây của mã truy cập.
hd Miền được lưu trữ chứa người dùng đã đăng nhập.
prompt Giá trị lời nhắc đã được sử dụng trong danh sách giá trị có thể được chỉ định bằng tokenClientConfig hoặc OverridableTokenClientConfig.
token_type Loại mã thông báo được phát hành.
scope Danh sách những phạm vi được phân tách bằng dấu cách đã được người dùng phê duyệt.
state Giá trị chuỗi mà ứng dụng của bạn sử dụng để duy trì trạng thái giữa yêu cầu uỷ quyền và phản hồi.
error Một mã lỗi ASCII.
error_description Văn bản ASCII mà con người có thể đọc được, cung cấp thêm thông tin dùng để hỗ trợ nhà phát triển ứng dụng trong việc tìm hiểu lỗi đã xảy ra.
error_uri Một URI xác định trang web mà con người có thể đọc được và có thông tin về lỗi, dùng để cung cấp thêm thông tin về lỗi cho nhà phát triển ứng dụng khách.

Phương thức: google.accounts.OAuth2.hasGrantedAllScopes

Kiểm tra xem người dùng đã cấp tất cả phạm vi hoặc phạm vi đã chỉ định hay chưa.

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
Đối số
tokenResponse TokenResponse Bắt buộc. Một đối tượng TokenResponse.
firstScope chuỗi Bắt buộc. Phạm vi cần kiểm tra.
restScopes chuỗi[] Không bắt buộc. Các phạm vi khác cần kiểm tra.
Trả về
boolean Đúng nếu tất cả các phạm vi được cấp.

Phương thức: google.accounts.OAuth2.hasGrantedAnyScope

Kiểm tra xem người dùng có cấp phạm vi hoặc phạm vi đã chỉ định nào không.

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
Đối số
tokenResponse TokenResponse Bắt buộc. Một đối tượng TokenResponse.
firstScope chuỗi Bắt buộc. Phạm vi cần kiểm tra.
restScopes chuỗi[] Không bắt buộc. Các phạm vi khác cần kiểm tra.
Trả về
boolean Đúng nếu bất kỳ phạm vi nào được cấp.

Phương thức: google.accounts.OAuth2.revoke

Phương thức revoke thu hồi tất cả phạm vi mà người dùng đã cấp cho ứng dụng. Cần có mã truy cập hợp lệ để thu hồi quyền này.

google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Đối số
accessToken chuỗi Bắt buộc. Mã truy cập hợp lệ.
done hàm Không bắt buộc. Hàm gọi lại sau khi hành động thu hồi hoàn tất.