Tài liệu tham khảo về ứng dụng JavaScript đăng nhập bằng Google

Tài liệu tham khảo này mô tả các thuộc tính và phương thức của ứng dụng JavaScript mà bạn 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 bất kỳ vấn đề nào khi sử dụng thư viện, vui lòng báo cáo 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 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 động đối tượng GoogleAuth. Bạn phải gọi phương thức này trước khi gọi các 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 bằng mã ứng dụng khách OAuth 2.0 và mọi tuỳ 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 trước đó.

Đối số
params Một đối tượng chứa các cặp khoá-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 khác nhau có thể định cấu hình. Ví dụ:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com'
}
Giá trị trả về
gapi.auth2.GoogleAuth Đối tượng gapi.auth2.GoogleAuth. Sử dụng phương thức then() để nhận một Lời hứa đã được phân giải khi đối tượng gapi.auth2.GoogleAuth khởi chạy xong.

GoogleAuth.then(onInit, onError)

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

Đối số
onInit Hàm được gọi bằng đối tượng GoogleAuth khi đối tượng này được khởi động 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 GoogleAuth không khởi chạy được.
Giá trị trả về
Lời hứa Promise được thực hiện khi hàm onInit hoàn tất hoặc bị từ chối nếu xảy ra lỗi khởi động. Phân giải này sẽ 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 thể khởi chạy iframe bắt buộc từ Google do môi trường không được hỗ trợ. Thuộc tính details sẽ cung cấp thêm thông tin về lỗi đã phát sinh.

gapi.auth2.ClientConfig

Giao diện đại diện cho các tham số cấu hình của phương thức gapi.auth2.init.

Thông số
client_id string Bắt buộc. Mã ứng dụng khách của ứng dụng, được tìm thấy và tạo trong Google Developers Console.
cookie_policy string Miền mà bạn muố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 bạn không chỉ định.
scope string Các 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. 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 "hồ sơ", "email" và "openid" vào các phạm vi đã yêu cầu. True nếu không được chỉ định.
hosted_domain string Miền G Suite mà người dùng phải thuộc để đăng nhập. Ứng dụng có thể sửa đổi trường hợp này nên hãy nhớ xác minh tài sản miền được lưu trữ của người dùng được trả về. Sử dụng GoogleUser.getHostedDomain() trên máy khách và xác nhận quyền sở hữu hd trong Mã thông báo mã nhận dạng trên máy chủ để xác minh miền đúng với mong đợi của bạn.
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 ở cuối quy trình đồng ý. redirect_uri mặc định là URL hiện tại đã bị xoá các tham số truy vấn và mảnh băm.
plugin_name string Không bắt buộc. Nếu bạn đặt giá trị này, thì các mã ứng dụng khách mới 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 khách mới tạo hiện sẽ bị chặn sử dụng Thư viện nền tảng và phải sử dụng thư viện Dịch vụ nhận dạng của Google mới hơn. Bạn có thể chọn bất kỳ giá trị nào. Bạn 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ễ 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, xem trạng thái đăng nhập hiện tại của người dùng, lấy dữ liệu cụ thể trong hồ sơ của người dùng trên Google, yêu cầu thêm phạm vi 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.

Giá trị trả về
gapi.auth2.GoogleAuth Đối tượng gapi.auth2.GoogleAuth. Hãy sử 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ề việc người dùng hiện tại đã đăng nhập hay chưa.

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

GoogleAuth.isSignedIn.listen(listener)

Theo dõi các 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 nhận giá trị boolean. listen() chuyển true sang 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 người dùng bằng các tuỳ chọn được chỉ định cho gapi.auth2.init().

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

Mã lỗi

Vui lòng xem GoogleAuth.signIn(options).

GoogleAuth.signIn(options)

Đăng nhập người dùng bằng các tuỳ chọn được chỉ định.

Đối số
options Hoặc:
  • Đối tượng gapi.auth2.SignInOptions chứa các cặp khoá-giá trị của tham số đăng nhập. Ví dụ:
    {
      scope: 'profile email'
    }
  • Một thực thể 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');
Giá trị trả về
Lời hứa Promise được thực hiện bằng thực thể GoogleUser khi người dùng xác thực và cấp các phạm vi được yêu cầu thành công hoặc bị từ chối bằng một đối tượng chứa thuộc tính error nếu xảy ra lỗi (xem mã lỗi ở bên dướ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 cấp quyền đối với các phạm vi cần thiết.
immediate_failed
Không có người dùng nào được chọn tự động nếu không nhắc quy trình đồng ý. Đã xảy ra lỗi khi sử dụng signIn với tuỳ chọn prompt: 'none'. Bạn không nên sử dụng tuỳ chọn này vì gapi.auth2.init sẽ tự động đăng nhập người dùng nếu trước đó đã đăng nhập trong phiên trước đó.

gapi.auth2.SignInOptions

Giao diện đại diện cho các tham số cấu hình của phương thức GoogleAuth.signIn(options).

Thông số
prompt string Buộc dùng một chế độ cụ thể cho quy trình đồng ý. Không bắt buộc.
Các giá trị có thể sử dụng là:
  • consent
    Máy chủ uỷ quyền sẽ nhắc người dùng đồng ý trước khi trả về thông tin cho ứng dụng.
  • select_account
    Máy chủ uỷ quyền sẽ 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 có thể chọn trong số nhiều tài khoản mà họ có thể đang có phiên hoạt động.
  • none (không nên)
    Máy chủ uỷ 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 ý của người dùng nào. Máy chủ sẽ trả về lỗi nếu người dùng chưa được xác thực và trước đó chưa đồng ý với các phạm vi được yêu cầu.
    gapi.auth2.init sẽ tự động đăng nhập một người dùng vào ứng dụng nếu họ đã đăng nhập trước đó, nên việc gọi signIn({prompt: 'none'}) thường sẽ không thành công.
scope string Các phạm vi cần yêu cầu (dưới dạng một chuỗi được phân tách bằng dấu cách) ở trên các phạm vi được xác định trong tham 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 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 ở cuối quy trình đồng ý. redirect_uri mặc định là URL hiện tại đã bị xoá 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.

Giá trị trả về
Lời hứa Promise được thực hiện khi người dùng đã đăng xuất.

GoogleAuth.disconnect()

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

GoogleAuth.grantOfflineAccess(options)

Yêu cầu người dùng cấp quyền để 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 khoá-giá trị của tham số. Ví dụ:
{
  scope: 'profile email'
}
Giá trị trả về
Lời hứa Promise được thực hiện khi người dùng cấp các phạm vi yêu cầu, truyền một đối tượng chứa mã uỷ quyền đến trình xử lý phương thức 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 cấp quyền đối với các phạm vi cần thiết.
immediate_failed
Không có người dùng nào được chọn tự động nếu không nhắc quy trình đồng ý. Đã xảy ra lỗi khi sử dụng signIn với tuỳ chọn prompt: 'none'. Bạn không nên sử dụng tuỳ chọn này vì gapi.auth2.init sẽ tự động đăng nhập người dùng nếu trước đó đã đăng nhập trong phiên trước đó.

gapi.auth2.OfflineAccessOptions

Giao diện biểu thị các tham số cấu hình của phương thức GoogleAuth.grantOfflineAccess(options).

Thông số
prompt string Buộc dùng một chế độ cụ thể cho quy trình đồng ý. Không bắt buộc.
Các giá trị có thể sử dụng là:
  • consent
    Máy chủ uỷ quyền sẽ nhắc người dùng đồng ý trước khi trả về thông tin cho ứng dụng.
  • select_account
    Máy chủ uỷ quyền sẽ 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 có thể chọn trong số nhiều tài khoản mà họ có thể đang có phiên hoạt động.
scope string Các phạm vi cần yêu cầu (dưới dạng một chuỗi được phân tách bằng dấu cách) ở trên các phạm vi được xác định trong tham 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 quy trình đă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ã nhận dạng hoặc tham chiếu đến phần tử div cần đính kèm trình xử lý lượt nhấp.
options Một đối tượng chứa các cặp khoá-giá trị của thông số. Hãy xem GoogleAuth.signIn().
onsuccess Hàm gọi sau khi hoàn tất quá trình đăng nhập.
onfailure Hàm gọi nếu không đăng nhập được.

Số người dùng

Đối tượng GoogleUser đại diện cho một tài khoản người dùng. Đối tượng GoogleUser thường được lấy 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. Lưu ý rằng trong thực thể GoogleAuth mới khởi tạo, người dùng hiện tại chưa được đặt. Sử dụng phương thức currentUser.listen() hoặc GoogleAuth.then() để tải thực thể GoogleAuth đã khởi tạo.

Giá trị trả về
GoogleUser Người dùng hiện tại

GoogleAuth.currentUser.listen(listener)

Theo dõi những thay đổi trong currentUser.

Đối số
listener Một hàm nhận tham số GoogleUser. listen truyền hàm này một thực thể GoogleUser trên mỗi thay đổi có hiệu lực sửa đổi currentUser.

GoogleUser.getId()

Lấy chuỗi mã nhận dạng duy nhất của người dùng.

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

GoogleUser.isSignedIn()

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

Giá trị trả về
Boolean Đúng 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 họ đăng nhập bằng tài khoản G Suite.

Giá trị trả về
Chuỗi Miền G Suite của người dùng

GoogleUser.getGrantedScopes()

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

Giá trị trả về
Chuỗi Phạm vi do người dùng cấp

GoogleUser.getBasicProfile()

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

Giá trị 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:
  • BasicProfile.getId()
  • BasicProfile.getName()
  • BasicProfile.getGivenName()
  • BasicProfile.getFamilyName()
  • BasicProfile.getImageUrl()
  • BasicProfile.getEmail()

GoogleUser.getAuthResponse(includeAuthorizationData)

Nhận đố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: Một giá trị boolean chỉ định xem có luôn trả về một mã truy cập và phạm vi hay không. Theo mặc định, mã truy cập và phạm vi đã yêu cầu sẽ không được trả về khi fetch_basic_profile là giá trị true (giá trị mặc định) và không yêu cầu phạm vi nào khác.
Giá trị trả về
gapi.auth2.AuthResponse Đối tượng gapi.auth2.AuthResponse.

GoogleUser.reloadAuthResponse()

Buộc làm mới mã truy cập, sau đó trả về một Promise cho AuthResponse mới.

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

gapi.auth2.AuthResponse

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

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

GoogleUser.hasGrantedScopes(scopes)

Trả về giá trị true nếu người dùng đã cấp 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.
Giá trị trả về
Boolean Đúng nếu đã cấp phạm vi

GoogleUser.grant(options)

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

Hãy xem GoogleAuth.signIn() để biết danh sách các tham số và mã lỗi.

GoogleUser.grantOfflineAccess(options)

Yêu cầu người dùng cấp quyền để 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 khoá-giá trị của tham số. Ví dụ:
{
  scope: 'profile email'
}

GoogleUser.disconnect()

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

Phần tử trên giao diện người dùng

gapi.signin2.render(id, options)

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

Đối số
id Mã của phần tử dùng để hiển thị nút đăng nhập.
options Đối tượng chứa các chế độ cài đặt cần dùng để hiển thị nút. Ví dụ:
{
  scope: 'email',
  width: 200,
  height: 50,
  longtitle: true,
  theme: 'dark',
  onsuccess: handleSuccess,
  onfailure: handleFailure
}
Bạn có thể chỉ định các tuỳ chọn sau:
Thông số
xác định phạm vi của thứ nguyên. Các 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).
tiêu đề dài Hiển thị nhãn dài 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 tiêu đề mặc định.
chủ đề Giao diện màu của nút: light hoặc dark (mặc định: light).
không thành công Hàm callback để gọi khi một 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 thực thể của gapi.auth2.GoogleUser (mặc định: không có).
không thành công Hàm callback để 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 uỷ quyền OAuth 2.0 một lần. Tuỳ thuộc vào các tham số được sử dụng, thao tác này sẽ mở một cửa sổ bật lên cho quy trình đăng nhập bằng Google hoặc cố gắng tự động tải phản hồi được 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 mà 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 một điểm cuối API của Google một lần, chẳng hạn như tải video trên YouTube mà người dùng yêu thích trong 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à chỉ yêu cầu Mã thông báo mã nhận dạng một lần để xác định người dùng trong phần phụ trợ.
  • Một số Mã ứng dụng khách được sử dụng trong cùng một trang.
Đối số
params Một đối tượng chứa các cặp khoá-giá trị của dữ liệu cấu hình. Hãy xem gapi.auth2.AuthorizeConfig để biết các thuộc tính khác nhau 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 bằng đối tượng gapi.auth2.AuthorizeResponse sau khi yêu cầu đã 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 thể khởi chạy iframe bắt buộc từ Google do môi trường không được hỗ trợ. Thuộc tính details sẽ cung cấp thêm thông tin về lỗi đã phát sinh.
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 cấp quyền đối với các phạm vi cần thiết.
immediate_failed
Không có người dùng nào được chọn tự động nếu không nhắc quy trình đồng ý. Đã xảy ra lỗi khi sử dụng signIn với tuỳ chọn prompt: 'none'.

gapi.auth2.AuthorizeConfig

Giao diện đại diện cho các tham số cấu hình của phương thức gapi.auth2.authorize.

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

gapi.auth2.AuthorizeResponse

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

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