Chúng tôi sẽ ngừng cung cấp Thư viện nền tảng JavaScript đăng nhập bằng Google cho web. Bạn sẽ không thể tải thư viện này xuống sau ngày 31 tháng 3 năm 2023. Thay vào đó, hãy sử dụng Dịch vụ Google Identity mới cho Web.
Theo mặc định, mã ứng dụng khách mới tạo hiện bị chặn sử dụng Thư viện nền tảng cũ, các mã ứng dụng khách hiện có sẽ không bị ảnh hưởng. Những Mã ứng dụng khách mới được tạo trước ngày 29 tháng 7 năm 2022 có thể đặt `plugin_name` cho phép sử dụng Thư viện Google Platform.

Tham chiếu máy khách JavaScript để đăng nhập bằng tài khoản Google

Tài liệu tham khảo này mô tả các phương thức và thuộc tính của ứng dụng JavaScript mà bạn sẽ sử dụng để triển khai tính năng Đăng nhập bằng Google trong các ứng dụng web của mình.

Nếu bạn gặp vấn đề khi sử dụng thư viện, vui lòng báo cáo vấn đề đó cho kho lưu trữ GitHub của chúng tôi.

Thiết lập xác thực

Tải thư viện nền tảng API của Google để tạo đối tượng gapi:

<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>

Sau khi thư viện nền tảng tải, hãy tải thư viện auth2:

function init() {
  gapi.load('auth2', function() {
    /* Ready. Make a call to gapi.auth2.init or some other API */
  });
}

gapi.auth2.init(params)

Khởi chạy đối tượng GoogleAuth. Bạn phải gọi phương thức này trước khi gọi phương thức của gapi.auth2.GoogleAuth.

Khi khởi tạo đối tượng GoogleAuth, bạn sẽ định cấu hình đối tượng này bằng mã ứng dụng OAuth 2.0 và mọi tùy chọn bổ sung mà bạn muốn chỉ định. Sau đó, nếu người dùng đã đăng nhập, đối tượng GoogleAuth sẽ khôi phục trạng thái đăng nhập của người dùng từ phiên hoạt động trước đó.

Đối số
params Đối tượng chứa các cặp khóa-giá trị của dữ liệu cấu hình ứng dụng. Hãy xem gapi.auth2.ClientConfig để biết các thuộc tính có thể định cấu hình. Ví dụ:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com'
}
Trả về
gapi.auth2.GoogleAuth Đối tượng gapi.auth2.GoogleAuth. Hãy dùng phương thức then() để nhận thông báo trong Lời hứa được phân giải khi đối tượng gapi.auth2.GoogleAuth hoàn tất việc khởi chạy.

GoogleAuth.then(onInit, onError)

Gọi hàm onInit khi đối tượng GoogleAuth được khởi chạy hoàn toàn. Nếu xảy ra lỗi khi khởi chạy (điều này có thể xảy ra trong trình duyệt không được hỗ trợ cũ), hàm onError sẽ được gọi.

Đối số
onInit Hàm được gọi bằng đối tượng GoogleAuth khi được khởi tạo hoàn toàn.
onError Hàm được gọi bằng một đối tượng chứa thuộc tính error, nếu không khởi chạy được GoogleAuth.
Trả về
Nhẫn hẹn ước Promise được thực hiện khi hàm onInit hoàn tất hoặc bị từ chối nếu có lỗi khởi chạy. Giá trị này phân giải bằng giá trị được trả về từ hàm onInit, nếu có.

Mã lỗi

idpiframe_initialization_failed
Ví dụ: không khởi chạy được iframe bắt buộc từ Google do môi trường không được hỗ trợ. Tài sản details sẽ cung cấp thêm thông tin về lỗi đã nêu.

gapi.auth2.ClientConfig

Giao diện trình bày các thông số cấu hình khác nhau cho phương thức gapi.auth2.init.

Thông số
client_id string Bắt buộc. Mã khách hàng của ứng dụng, đã được tìm thấy và tạo trong Google Developers Console.
cookie_policy string Các miền để tạo cookie đăng nhập. URI, single_host_origin hoặc none. Giá trị mặc định là single_host_origin nếu không xác định.
scope string Phạm vi yêu cầu, dưới dạng chuỗi được phân tách bằng dấu cách. Không bắt buộc nếu bạn không đặt fetch_basic_profile thành false.
fetch_basic_profile boolean Tìm nạp thông tin hồ sơ cơ bản của người dùng khi họ đăng nhập. Thêm 'profile', 'email' và 'openid' vào các phạm vi đã yêu cầu. True nếu không xác định.
hosted_domain string Miền G Suite mà người dùng phải thuộc về để đăng nhập. Ứng dụng này dễ bị sửa đổi bởi khách hàng. Vì vậy, hãy nhớ xác minh tài nguyên miền được lưu trữ của người dùng đã trả về. Sử dụng GoogleUser.getHostedDomain() trên ứng dụng khách và xác nhận quyền sở hữu hd trong Mã thông báo ID trên máy chủ để xác minh miền là điều bạn mong đợi.
ux_mode string Chế độ trải nghiệm người dùng để sử dụng cho quy trình đăng nhập. Theo mặc định, thao tác này sẽ mở quy trình đồng ý trong một cửa sổ bật lên. Các giá trị hợp lệ là popupredirect.
redirect_uri string Nếu sử dụng ux_mode='redirect', thông số này cho phép bạn ghi đè redirect_uri mặc định sẽ được sử dụng khi kết thúc quy trình lấy sự đồng ý. redirect_uri mặc định là URL hiện tại bao gồm các tham số truy vấn và mảnh băm.
plugin_name string Tùy chọn. Nếu bạn đặt giá trị này, các mã ứng dụng khách mới được tạo trước ngày 29 tháng 7 năm 2022 có thể sử dụng Thư viện Google Platform cũ. Theo mặc định, các mã ứng dụng mới tạo hiện bị chặn sử dụng Thư viện nền tảng và thay vào đó phải sử dụng thư viện Dịch vụ danh tính của Google mới hơn. Bạn có thể chọn bất kỳ giá trị nào, nên dùng tên mô tả như tên sản phẩm hoặc trình bổ trợ để dễ dàng nhận dạng. Ví dụ: plugin_name: 'YOUR_STRING_HERE'

Xác thực

GoogleAuth là một lớp singleton cung cấp các phương thức để cho phép người dùng đăng nhập bằng Tài khoản Google, lấy trạng thái đăng nhập hiện tại của người dùng, lấy dữ liệu cụ thể từ hồ sơ của người dùng trên Google, yêu cầu phạm vi bổ sung và đăng xuất khỏi tài khoản hiện tại.

gapi.auth2.getAuthInstance()

Trả về đối tượng GoogleAuth. Bạn phải khởi tạo đối tượng GoogleAuth bằng gapi.auth2.init() trước khi gọi phương thức này.

Trả về
gapi.auth2.GoogleAuth Đối tượng gapi.auth2.GoogleAuth. Dùng đối tượng này để gọi các phương thức của gapi.auth2.GoogleAuth.

GoogleAuth.issignedIn.get()

Trả về liệu người dùng hiện tại đang đăng nhập hay không.

Trả về
Boolean true nếu người dùng đã đăng nhập hoặc false nếu người dùng bị đăng xuất hoặc đối tượng GoogleAuth chưa được khởi tạo.

GoogleAuth.issignedIn.listen(listener)

Nghe những thay đổi về trạng thái đăng nhập của người dùng hiện tại.

Đối số
listener Một hàm lấy giá trị boolean. listen() chuyển true đến hàm này khi người dùng đăng nhập và false khi người dùng đăng xuất.

GoogleAuth.signIn()

Đăng nhập trong người dùng bằng các tùy chọn được chỉ định cho gapi.auth2.init().

Trả về
Nhẫn hẹn ước Promise được thực hiện với bản sao GoogleUser khi người dùng xác thực và cấp thành công phạm vi đã yêu cầu, hoặc bị từ chối bằng một đối tượng có chứa thuộc tính error nếu có lỗi xảy ra (xem bên dưới để biết mã lỗi).

Mã lỗi

Hãy xem GoogleAuth.signIn(options).

GoogleAuth.signIn(options)

Đăng nhập vào người dùng bằng các tùy chọn được chỉ định.

Đối số
options Hoặc:
  • Đối tượng gapi.auth2.SignInOptions chứa các cặp khóa-giá trị của thông số đăng nhập. Ví dụ:
    {
      scope: 'profile email'
    }
  • Một bản sao của gapi.auth2.SigninOptionsBuilder. Ví dụ:
    options = new gapi.auth2.SigninOptionsBuilder();
    options.setAppPackageName('com.example.app');
    options.setFetchBasicProfile(True);
    options.setPrompt('select_account');
    options.setScope('profile').setScope('email');
Trả về
Nhẫn hẹn ước Promise được thực hiện với bản sao GoogleUser khi người dùng xác thực và cấp thành công phạm vi đã yêu cầu, hoặc bị từ chối bằng một đối tượng có chứa thuộc tính error nếu có lỗi xảy ra (xem bên dưới để biết mã lỗi).

Mã lỗi

popup_closed_by_user
Người dùng đóng cửa sổ bật lên trước khi hoàn tất quy trình đăng nhập.
access_denied
Người dùng đã từ chối quyền truy cập đối với các phạm vi bắt buộc.
immediate_failed
Người dùng không thể được tự động chọn mà không cần nhắc quy trình đồng ý. Đã xảy ra lỗi khi sử dụng signIn với tùy chọn prompt: 'none'. Bạn không nên sử dụng tùy chọn này vì gapi.auth2.init sẽ tự động đăng nhập người dùng nếu đã đăng nhập trước đó trong một phiên hoạt động trước đó.

gapi.auth2.SignInOptions

Giao diện trình bày các thông số cấu hình khác nhau cho phương thức GoogleAuth.signIn(options).

Thông số
prompt string Buộc có chế độ cụ thể cho quy trình lấy sự đồng ý. Tùy chọn.
Các giá trị có thể sử dụng là:
  • consent
    Máy chủ ủy quyền sẽ nhắc người dùng đồng ý trước khi trả lại thông tin cho ứng dụng.
  • select_account
    Máy chủ ủy quyền nhắc người dùng chọn một Tài khoản Google. Điều này cho phép người dùng có nhiều tài khoản chọn trong số nhiều tài khoản mà họ có thể có phiên hiện tại.
  • none (không nên)
    Máy chủ ủy quyền sẽ không hiển thị bất kỳ màn hình xác thực hoặc sự đồng ý nào của người dùng; sẽ trả về lỗi nếu người dùng chưa được xác thực và chưa đồng ý với phạm vi được yêu cầu trước đó.
    gapi.auth2.init sẽ tự động đăng nhập người dùng vào ứng dụng nếu từng đăng nhập, nên việc gọi signIn({prompt: 'none'}) thường sẽ không thành công.
scope string Phạm vi yêu cầu, dưới dạng một chuỗi được phân tách bằng dấu cách, ở đầu các phạm vi đã xác định trong các thông số gapi.auth2.init. Không bắt buộc nếu bạn không đặt fetch_basic_profile thành false.
ux_mode string Chế độ trải nghiệm người dùng để sử dụng cho quy trình đăng nhập. Theo mặc định, thao tác này sẽ mở quy trình đồng ý trong một cửa sổ bật lên. Các giá trị hợp lệ là popupredirect.
redirect_uri string Nếu bạn sử dụng ux_mode='redirect', thông số này cho phép bạn ghi đè redirect_uri mặc định sẽ được sử dụng khi kết thúc quy trình lấy sự đồng ý. redirect_uri mặc định là URL hiện tại bị xóa của các tham số truy vấn và mảnh băm.

GoogleAuth.signOut()

Đăng xuất tài khoản hiện tại khỏi ứng dụng.

Trả về
Nhẫn hẹn ước Promise được thực hiện khi người dùng đã đăng xuất.

GoogleAuth.tách()

Thu hồi tất cả phạm vi mà người dùng đã cấp.

GoogleAuth.).Xem ngoại tuyến(options)

Xin phép người dùng truy cập vào các phạm vi đã chỉ định khi không có mạng.

Đối số
options Đối tượng gapi.auth2.OfflineAccessOptions chứa các cặp thông số-giá trị. Ví dụ:
{
  scope: 'profile email'
}
Trả về
Nhẫn hẹn ước Một Promise được thực hiện khi người dùng cấp các phạm vi đã yêu cầu, chuyển một đối tượng chứa mã ủy quyền đến trình xử lý thực hiện của Promise. Ví dụ:
auth2.grantOfflineAccess().then(function(resp) {
  var auth_code = resp.code;
});

Mã lỗi

popup_closed_by_user
Người dùng đã đóng cửa sổ bật lên trước khi hoàn tất quy trình đồng ý.
access_denied
Người dùng đã từ chối quyền truy cập đối với các phạm vi bắt buộc.
immediate_failed
Người dùng không thể được tự động chọn mà không cần nhắc quy trình đồng ý. Đã xảy ra lỗi khi sử dụng signIn với tùy chọn prompt: 'none'. Bạn không nên sử dụng tùy chọn này vì gapi.auth2.init sẽ tự động đăng nhập người dùng nếu đã đăng nhập trước đó trong một phiên hoạt động trước đó.

gapi.auth2.OfflineAccessOptions

Giao diện trình bày các thông số cấu hình khác nhau cho phương thức GoogleAuth.grantOfflineAccess(options).

Thông số
prompt string Buộc có chế độ cụ thể cho quy trình lấy sự đồng ý. Tùy chọn.
Các giá trị có thể sử dụng là:
  • consent
    Máy chủ ủy quyền sẽ nhắc người dùng đồng ý trước khi trả lại thông tin cho ứng dụng.
  • select_account
    Máy chủ ủy quyền nhắc người dùng chọn một Tài khoản Google. Điều này cho phép người dùng có nhiều tài khoản chọn trong số nhiều tài khoản mà họ có thể có phiên hiện tại.
scope string Phạm vi yêu cầu, dưới dạng một chuỗi được phân tách bằng dấu cách, ở đầu các phạm vi đã xác định trong các thông số gapi.auth2.init. Không bắt buộc nếu bạn không đặt fetch_basic_profile thành false.

GoogleAuth.AttachClickHandler(container, options, onsuccess, onfailure)

Đính kèm luồng đăng nhập vào trình xử lý lượt nhấp của vùng chứa được chỉ định.

Đối số
container Mã của hoặc một tệp tham chiếu đến phần tử div để đính kèm trình xử lý lượt nhấp.
options Đối tượng chứa các cặp thông số-giá trị. Hãy xem GoogleAuth.signIn().
onsuccess Chức năng gọi sau khi đăng nhập hoàn tất.
onfailure Chức năng gọi nếu đăng nhập không thành công.

Số người dùng

Đối tượng GoogleUser đại diện cho một tài khoản người dùng. GoogleUser đối tượng thường có được bằng cách gọi GoogleAuth.currentUser.get().

GoogleAuth.currentUser.get()

Trả về đối tượng GoogleUser đại diện cho người dùng hiện tại. Xin lưu ý rằng trong phiên bản GoogleAuth mới khởi chạy, người dùng hiện tại chưa được đặt. Hãy sử dụng phương thức currentUser.listen() hoặc GoogleAuth.then() để thu thập bản sao GoogleAuth đã khởi tạo.

Trả về
GoogleUser Người dùng hiện tại

GoogleAuth.currentUser.listen(listener)

Theo dõi các thay đổi trong hiện tại đối với Người dùng.

Đối số
listener Hàm nhận một tham số GoogleUser. listen chuyển hàm này vào một thực thể GoogleUser trong mọi thay đổi sẽ sửa đổi currentUser.

GoogleUser.getId()

Lấy chuỗi ID duy nhất của người dùng.

Trả về
Chuỗi Mã nhận dạng duy nhất của người dùng

GoogleUser.isSignIn()

Trả về true nếu người dùng đã đăng nhập.

Trả về
Boolean True nếu người dùng đã đăng nhập

GoogleUser.getHostedDomain()

Nhận miền G Suite của người dùng nếu người dùng đã đăng nhập bằng tài khoản G Suite.

Trả về
Chuỗi Miền G Suite của người dùng

GoogleUser.getGrantedScopes()

Lấy phạm vi mà người dùng đã cấp dưới dạng chuỗi được phân tách bằng dấu cách.

Trả về
Chuỗi Phạm vi do người dùng cấp

GoogleUser.getBasicProfile()

Nhận thông tin hồ sơ cơ bản của người dùng.

Trả về
gapi.auth2.BasicProfile Bạn có thể truy xuất các thuộc tính của gapi.auth2.BasicProfile bằng các phương thức sau:
  • Hồ sơ cơ bản.getId()
  • Hồ sơ cơ bản.getName()
  • Hồ sơ cơ bản.getGrantnName()
  • Hồ sơ cơ bản.getFamilyName()
  • Hồ sơ cơ bản.getImageUrl()
  • Hồ sơ cơ bản.getEmail()

GoogleUser.getAuthResponse(includeVéData)

Lấy đối tượng phản hồi từ phiên xác thực của người dùng.

Đối số
includeAuthorizationData Không bắt buộc: Giá trị boolean xác định xem có luôn trả về mã thông báo truy cập và các phạm vi hay không. Theo mặc định, mã truy cập và các phạm vi đã yêu cầu sẽ không được trả về khi fetch_basic_profile là true (giá trị mặc định) và không có phạm vi nào khác được yêu cầu.
Trả về
gapi.auth2.AuthResponse Đối tượng gapi.auth2.AuthResponse.

GoogleUser.uploadAuthResponse()

Buộc làm mới mã truy cập và sau đó trả lại Lời hứa cho AuthResponse mới.

Trả về
Promise Promise được thực hiện với gapi.auth2.AuthResponse đã tải lại khi tải lại mã thông báo OAuth.

gapi.auth2.AuthResponse

Phản hồi sẽ được trả về khi gọi các phương thức GoogleUser.getAuthResponse(includeAuthorizationData) hoặc GoogleUser.reloadAuthResponse().

Tài sản
access_token string Đã cấp Mã thông báo truy cập.
id_token string Đã cấp mã thông báo.
scope string Các phạm vi đã cấp trong Mã thông báo truy cập.
expires_in number Số giây cho đến khi Mã thông báo truy cập hết hạn.
first_issued_at number Dấu thời gian mà người dùng cấp lần đầu tiên các phạm vi được yêu cầu.
expires_at number Dấu thời gian mà Mã thông báo truy cập sẽ hết hạn.

GoogleUser.hasGrantedScopes(scopes)

Trả về true nếu người dùng đã cấp các phạm vi đã chỉ định.

Đối số
scopes Một chuỗi phạm vi được phân tách bằng dấu cách.
Trả về
Boolean True nếu phạm vi đã được cấp

GoogleUser.grant(options)

Yêu cầu thêm phạm vi cho người dùng.

Xem GoogleAuth.signIn() để biết danh sách các thông số và mã lỗi.

GoogleUser.grantOfflineAccess(options)

Xin phép người dùng truy cập vào các phạm vi đã chỉ định khi không có mạng.

Đối số
options Đối tượng gapi.auth2.OfflineAccessOptions chứa các cặp thông số-giá trị. Ví dụ:
{
  scope: 'profile email'
}

GoogleUser.ắm()

Thu hồi tất cả phạm vi mà người dùng đã cấp cho ứng dụng.

Thành phần trên giao diện người dùng

gapi.signin2.render(id, options)

Hiển thị nút đăng nhập trong thành phần có mã nhận dạng nhất định, sử dụng các chế độ cài đặt do đối tượng options chỉ định.

Đối số
id Mã của phần tử mà nút hiển thị.
options Một đối tượng chứa các chế độ cài đặt dùng để hiển thị nút này. Ví dụ:
{
  scope: 'email',
  width: 200,
  height: 50,
  longtitle: true,
  theme: 'dark',
  onsuccess: handleSuccess,
  onfailure: handleFailure
}
Bạn có thể chỉ định các tùy chọn sau:
Thông số
xác định phạm vi của thứ nguyên. Phạm vi yêu cầu khi người dùng đăng nhập (mặc định: profile).
chiều rộng Chiều rộng của nút (tính bằng pixel) (mặc định: 120).
độ cao Chiều cao của nút (tính bằng pixel) (mặc định: 36).
longtitle [tiêu_đề_đầy_đủ] Hiển thị các nhãn dài, chẳng hạn như "Đăng nhập bằng Google" thay vì "Đăng nhập" (mặc định: false). Khi sử dụng tiêu đề dài, bạn nên tăng chiều rộng của nút so với mặc định.
chủ đề Giao diện màu của nút: light hoặc dark (mặc định: light).
thành công Chức năng gọi lại để gọi khi người dùng đăng nhập thành công. Hàm này phải nhận một đối số: một bản sao của gapi.auth2.GoogleUser (mặc định: không có).
lỗi Hàm gọi lại để gọi khi không đăng nhập được. Hàm này không nhận đối số (mặc định: không có).

Nâng cao

gapi.auth2.authorized(params, callback)

Thực hiện ủy quyền OAuth 2.0 một lần. Tùy thuộc vào các thông số được sử dụng, thao tác này sẽ mở cửa sổ bật lên đến luồng đăng nhập của Google hoặc cố gắng tải phản hồi theo yêu cầu mà không cần sự tương tác của người dùng.

Một số trường hợp sử dụng phương thức này hữu ích bao gồm:

  • Ứng dụng của bạn chỉ cần yêu cầu điểm cuối API của Google một lần, ví dụ như để tải video yêu thích trên YouTube của người dùng vào lần đầu tiên họ đăng nhập.
  • Ứng dụng của bạn có cơ sở hạ tầng quản lý phiên riêng, và ứng dụng này chỉ yêu cầu Mã thông báo ID một lần để xác định người dùng trong phần phụ trợ của bạn.
  • Một số mã ứng dụng được sử dụng trong cùng một trang.
Đối số
params Đối tượng chứa các cặp dữ liệu cấu hình-khóa-giá trị. Hãy xem gapi.auth2.AuthorizeConfig để biết các thuộc tính có thể định cấu hình. Ví dụ:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}
callback Một hàm được gọi có đối tượng gapi.auth2.AuthorizeResponse sau khi yêu cầu đã được hoàn tất (thành công hoặc không thành công).

Ví dụ:

gapi.auth2.authorize({
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}, function(response) {
  if (response.error) {
    // An error happened!
    return;
  }
  // The user authorized the application for the scopes requested.
  var accessToken = response.access_token;
  var idToken = response.id_token;
  // You can also now use gapi.client to perform authenticated requests.
});

Mã lỗi

idpiframe_initialization_failed
Ví dụ: không khởi chạy được iframe bắt buộc từ Google do môi trường không được hỗ trợ. Tài sản details sẽ cung cấp thêm thông tin về lỗi đã nêu.
popup_closed_by_user
Người dùng đóng cửa sổ bật lên trước khi hoàn tất quy trình đăng nhập.
access_denied
Người dùng đã từ chối quyền truy cập đối với các phạm vi bắt buộc.
immediate_failed
Người dùng không thể được tự động chọn mà không cần nhắc quy trình đồng ý. Đã xảy ra lỗi khi sử dụng signIn với tùy chọn prompt: 'none'.

gapi.auth2.Ủy quyền đã định cấu hình

Giao diện trình bày các thông số cấu hình khác nhau cho phương thức gapi.auth2.authorize.

Tài sản
client_id string Required. Mã khách hàng của ứng dụng, đã được tìm thấy và tạo trong Google Developers Console.
scope string Required. Phạm vi yêu cầu, dưới dạng chuỗi được phân tách bằng dấu cách.
response_type string Danh sách các loại phản hồi được phân tách bằng dấu cách. Giá trị mặc định là 'permission'. Bạn có thể sử dụng các giá trị sau:
  • id_token, để truy xuất Mã thông báo nhận dạng
  • permission (hoặc token), để truy xuất Mã thông báo truy cập
  • code, để truy xuất Mã ủy quyền
prompt string Buộc có chế độ cụ thể cho quy trình lấy sự đồng ý. Bạn có thể sử dụng các giá trị sau:
  • consent
    Máy chủ ủy quyền sẽ nhắc người dùng đồng ý trước khi trả lại thông tin cho ứng dụng.
  • select_account
    Máy chủ ủy quyền nhắc người dùng chọn một Tài khoản Google. Điều này cho phép người dùng có nhiều tài khoản chọn trong số nhiều tài khoản mà họ có thể có phiên hiện tại.
  • none
    Máy chủ ủy quyền sẽ không hiển thị bất kỳ màn hình xác thực hoặc màn hình đồng ý nào của người dùng; sẽ trả về lỗi nếu người dùng chưa được xác thực và chưa đồng ý với phạm vi được yêu cầu trước đó.
    Nếu code được yêu cầu làm loại phản hồi, thì mã được trả về sẽ chỉ có thể trao đổi được trong access_token, chứ không phải refresh_token.
cookie_policy string Các miền để tạo cookie đăng nhập. URI, single_host_origin hoặc none. Giá trị mặc định là single_host_origin nếu không xác định.
hosted_domain string Miền G Suite mà người dùng phải thuộc cùng để đăng nhập. Ứng dụng này dễ bị sửa đổi vì vậy, hãy nhớ xác minh tài nguyên miền được lưu trữ của người dùng đã trả về.
login_hint string Email, hoặc mã nhận dạng người dùng, của người dùng để chọn trước trong quy trình đăng nhập. Người dùng này dễ bị sửa đổi, trừ trường hợp bạn sử dụng prompt: "none".
include_granted_scopes boolean Yêu cầu mã truy cập bao gồm tất cả các phạm vi mà người dùng đã cấp cho ứng dụng trước đó hay chỉ các phạm vi được yêu cầu trong lệnh gọi hiện tại. Giá trị mặc định là true.
plugin_name string Tùy chọn. Nếu được đặt, các mã ứng dụng khách được tạo trước ngày 29 tháng 7 năm 2022 có thể sử dụng thư viện Google Platform. Theo mặc định, Mã ứng dụng khách mới tạo sẽ bị chặn sử dụng Thư viện Nền tảng và thay vào đó phải sử dụng thư viện Dịch vụ Danh tính của Google mới hơn. Bạn có thể chọn bất kỳ giá trị nào, nên dùng tên mô tả chẳng hạn như tên sản phẩm hoặc trình bổ trợ để dễ dàng nhận dạng. Ví dụ: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.Ủy quyền phản hồi

Phản hồi đã trả về lệnh gọi lại của phương thức gapi.auth2.authorize.

Tài sản
access_token string Đã cấp Mã thông báo truy cập. Chỉ xuất hiện nếu bạn chỉ định permission hoặc token trong response_type.
id_token string Đã cấp mã thông báo. Chỉ xuất hiện nếu bạn đã chỉ định id_token trong response_type.
code string Đã cấp mã ủy quyền. Chỉ xuất hiện nếu bạn đã chỉ định code trong response_type.
scope string Các phạm vi đã cấp trong Mã thông báo truy cập. Chỉ xuất hiện nếu bạn đã chỉ định permission hoặc token trong response_type.
expires_in number Số giây cho đến khi Mã thông báo truy cập hết hạn. Chỉ xuất hiện nếu bạn chỉ định permission hoặc token trong response_type.
first_issued_at number Dấu thời gian mà người dùng cấp lần đầu tiên các phạm vi được yêu cầu. Chỉ xuất hiện nếu bạn đã chỉ định permission hoặc token trong response_type.
expires_at number Dấu thời gian mà Mã thông báo truy cập sẽ hết hạn. Chỉ xuất hiện nếu bạn chỉ định permission hoặc token trong response_type.
error string Khi yêu cầu không thành công, yêu cầu này sẽ chứa mã lỗi.
error_subtype string Khi yêu cầu không thành công, yêu cầu này cũng có thể chứa thông tin bổ sung về mã lỗi được trả về.