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

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ả 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 thư viện đó cho kho lưu trữ GitHub.

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

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

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

Sau khi tải thư viện nền tảng, 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 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 Đối tượng chứa các cặp khoá-giá trị của dữ liệu cấu hình máy khách. Hãy xem gapi.auth2.ClientConfig để biết các thuộc tính có thể định cấu hình khác nhau. Ví dụ:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com'
}
Trả về
gapi.auth2.GoogleAuth Đối tượng gapi.auth2.GoogleAuth. Sử dụng phương thức then() để lấy lời hứa sẽ được phân giải khi đối tượng gapi.auth2.GoogleAuth kết thúc khởi chạy.

GoogleAuth.then(onInit, onError)

Gọi hàm onInit khi đối tượng GoogleAuth được khởi tạo hoàn toàn. Nếu gặp lỗi trong quá trình 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ợ), thì hàm onError sẽ được gọi.

Đối số
onInit Hàm được gọi với đối tượng GoogleAuth khi được khởi tạo đầy đủ.
onError Hàm được gọi với một đối tượng chứa thuộc tính error, nếu GoogleAuth không khởi chạy được.
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 phát sinh lỗi khởi chạy. Tệp 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 thể khởi chạy một iframe bắt buộc từ Google do một 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 thông số cấu hình khác nhau của phương thức gapi.auth2.init.

Các tham số
client_id string Bắt buộc. Mã ứng dụng khách của khách hàng và đã tìm thấy 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 Các phạm vi cần 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 người dùng\39; thông tin cơ bản trong hồ sơ khi họ đăng nhập. Thêm <39;profile#39;, 'email' và 'openid#39; vào phạm vi được yêu cầu. Đúng nếu không được chỉ định.
hosted_domain string Miền G Suite mà người dùng phải thuộc về để đăng nhập. Hành động này dễ bị khách hàng 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 được trả về. Hãy dùng GoogleUser.getHostedDomain() trên ứng dụng và xác nhận quyền sở hữu hd trong Mã thông báo nhận dạng 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, cửa sổ 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 loại bỏ 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ì mã ứng dụng mới được tạo trước ngày 29 tháng 7 năm 2022 có thể sử dụng Thư viện nền tảng Google cũ. Theo mặc định, các 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 và thay vào đó phải sử dụng thư viện Dịch vụ nhận dạng mới của Google. Bạn có thể chọn bất kỳ giá trị nào, nên sử dụng tên mô tả như tên sản phẩm hoặc tên trình bổ trợ để dễ dàng nhận ra. 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, nhận trạng thái đăng nhập hiện tại của người dùng, nhận dữ liệu cụ thể từ hồ sơ trên Google của người dùng, 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. Sử dụng đối tượng này để gọi các phương thức gapi.auth2.GoogleAuth.

GoogleAuth.isSignedIn.get()

Trả về thông tin cho biết người dùng hiện tại đang đăng nhập.

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(danh sách)

Lắng nghe các thay đổi trong trạng thái đăng nhập của người dùng hiện tại.

Đối số
listener Hàm nhận 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 người dùng với các tùy chọn được chỉ định cho gapi.auth2.init().

Trả về
Lời hứa Promise được thực hiện với thực thể GoogleUser khi người dùng xác thực và cấp thành công các phạm vi được yêu cầu, 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ã bên dưới để biết mã lỗi).

Mã lỗi

Hãy xem GoogleAuth.signIn(options).

GoogleAuth.signIn(options)

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

Đối số
options Hoặc:
  • Đối tượng gapi.auth2.SignInOptions chứa các cặp tham số đăng nhập-giá trị. 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');
Trả về
Lời hứa Promise được thực hiện với thực thể GoogleUser khi người dùng xác thực và cấp thành công các phạm vi được yêu cầu, 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ã 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 cấp quyền trong phạm vi yêu cầu.
immediate_failed
Bạn không thể tự động chọn người dùng mà không cần 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 cần sử dụng tuỳ chọn này vì gapi.auth2.init sẽ tự động đăng nhập khi người dùng đã đăng nhập trong phiên trước đó.

gapi.auth2.SignInOptionsS

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

Các tham 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ả lại 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 lựa chọn trong số nhiều tài khoản mà họ có thể có các phiên hiện tại.
  • none (không được đề xuất)
    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 xin phép 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 đã yêu cầu.
    gapi.auth2.init sẽ tự động đăng nhập vào ứng dụng nếu đã đă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 chuỗi được phân tách bằng dấu cách, ở đầu các phạm vi được xác định trong 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, cửa sổ 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 lấy sự đồng ý. redirect_uri mặc định là URL hiện tại loại bỏ 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ề
Lời hứa Promise được thực hiện khi người dùng đã đăng xuất.

GoogleAuth.khác()

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

GoogleAuth.grantExceptionsAccess(options)

Yêu cầu người dùng cho phép truy cập vào các phạm vi được chỉ định khi không có mạng.

Đối số
options Đối tượng gapi.auth2.OfflineAccessOptions chứa các cặp tham số khoá-giá trị. Ví dụ:
{
  scope: 'profile email'
}
Trả về
Lời hứa Một Promise được thực hiện khi người dùng cấp các phạm vi được yêu cầu, chuyển một đối tượng chứa mã uỷ quyền cho trình xử lý thực hiện Promise#39;. 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 trong phạm vi yêu cầu.
immediate_failed
Bạn không thể tự động chọn người dùng mà không cần 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 cần sử dụng tuỳ chọn này vì gapi.auth2.init sẽ tự động đăng nhập khi người dùng đã đăng nhập trong phiên trước đó.

gapi.auth2.OfflineAccessOptions

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

Các tham 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ả lại 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 lựa chọn trong số nhiều tài khoản mà họ có thể có các phiên hiện tại.
scope string Các phạm vi cần yêu cầu, dưới dạng chuỗi được phân tách bằng dấu cách, ở đầu các phạm vi được xác định trong 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 quy trình đăng nhập vào trình xử lý lượt nhấp của vùng chứa đã chỉ định.

Đối số
container Mã hoặc phần tham chiếu đến phần tử div dùng để đính kèm trình xử lý lượt nhấp.
options Đối tượng chứa các cặp tham số khoá-giá trị. Hãy xem GoogleAuth.signIn().
onsuccess Hàm cần gọi sau khi quá trình đăng nhập hoàn tất.
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. Các đối tượng GoogleUser 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 thực thể GoogleAuth mới khởi chạy, 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() để lấy thực thể GoogleAuth đã khởi chạy.

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

GoogleAuth.currentUser.listen(listener)

Lắng nghe các thay đổi trong currentUser.

Đối số
listener Một hàm nhận tham số GoogleUser. listen truyền vào hàm này một bản sao GoogleUser trên mọi thay đổi sửa đổi currentUser.

GoogleUser.getId()

Lấy chuỗi mã nhận dạng 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.isSignedIn()

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

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 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 các 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 mà người dùng đã cấp

GoogleUser.getBasicProfile()

Lấy thông tin cơ bản của hồ sơ 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:
  • BasicProfile.getId()
  • BasicProfile.getName()
  • BasicProfile.getTakenName()
  • BasicProfile.getFamilyName()
  • BasicProfile.getImageUrl()
  • BasicProfile.getEmail()

GoogleUser.getAuthResponse(includedIncludeData)

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: Một boolean chỉ định liệu luôn trả về mã thông báo truy cập và phạm vi. 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 Một đối tượng gapi.auth2.AuthResponse.

GoogleUser.reloadAuthResponse()

Buộc làm mới mã thông báo truy cập rồi trả lại Lời hứa cho AuthResponse mới.

Trả về
Promise Một Promise được thực hiện bằng 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 phương thức GoogleUser.getAuthResponse(includeAuthorizationData) hoặc GoogleUser.reloadAuthResponse().

Thuộc tính
access_token string Mã truy cập được cấp.
id_token string Mã thông báo nhận được đã cấp.
scope string Phạm vi được cấp trong Mã 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 cấp phạm vi lần đầu tiên đượ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 được chỉ định.

Đối số
scopes Chuỗi phạm vi được phân tách bằng dấu cách.
Trả về
Boolean Đúng 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.

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

GoogleUser.grantOfflineAccess(options)

Yêu cầu người dùng cho phép truy cập vào các phạm vi được chỉ định khi không có mạng.

Đối số
options Đối tượng gapi.auth2.OfflineAccessOptions chứa các cặp tham số khoá-giá trị. 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.

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 phần tử với mã nhận dạng nhất định, bằng cách 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à bạn có thể hiển thị nút đăng nhập.
options Đối tượng chứa các tùy chọn cài đặt 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 lựa chọn sau:
Các tham số
xác định phạm vi của thứ nguyên. Các phạm vi cần 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 đề dài) Hiển thị các nhãn dài như "Sign in with Google" thay vì "Sign in" (mặc định: false). Khi sử dụng các tiêu đề dài, bạn nên tăng chiều rộng của nút từ mặc định.
chủ đề Giao diện màu của nút: light hoặc dark (mặc định: light).
sự thành công Hàm callback này để 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ố: thực thể của gapi.auth2.GoogleUser (mặc định: không có).
lỗi Hàm callback để gọi khi đăng nhập không thành công. Hàm này không chứa đối số (mặc định: không có).

Nâng cao

gapi.auth2.uỷ quyền(params, callback)

Thực hiện ủy quyền OAuth 2.0 một lần. Tuỳ thuộc vào các thông 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 của Google hoặc cố gắng tải phản hồi đã yêu cầu một cách im lặng mà không cần người dùng tương tác.

Một số trường hợp sử dụng mà phương pháp 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 Google một lần, chẳng hạn như để tải video YouTube yêu thích của người dùng lần đầu tiên họ đăng nhập.
  • Ứng dụng 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ã 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 Đố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 khác nhau. 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 với đố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 một iframe bắt buộc từ Google do một 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 trong phạm vi yêu cầu.
immediate_failed
Bạn không thể tự động chọn người dùng mà không cần 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.authorizedConfig

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

Thuộc tính
client_id string Required. Mã ứng dụng khách của khách hàng và đã tìm thấy trong Google Developers Console.
scope string Required. Các phạm vi cần 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'. Các giá trị có thể sử dụng là:
  • id_token, để truy xuất Mã thông báo nhận dạng
  • permission (hoặc token), để truy xuất Mã truy cập
  • code, để truy xuất Mã ủy 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ả lại 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 lựa chọn trong số nhiều tài khoản mà họ có thể có các phiên hiện tại.
  • 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 ý nào của người dùng; máy chủ sẽ trả về lỗi nếu người dùng chưa được xác thực và chưa đồng ý với các phạm vi đã yêu cầu trước đó.
    Nếu bạn yêu cầu code làm loại phản hồi, thì mã trả về sẽ chỉ có thể trao đổi cho một access_token, chứ không phải cho 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 về để đăng nhập. Hành động này dễ bị khách hàng 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 được trả về.
login_hint string Email hoặc User ID của người dùng để chọn trước trong quy trình đăng nhập. Người dùng dễ bị người dùng sửa đổi, trừ khi 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ỉ những 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 được đặt, mã ứng dụng được tạo trước ngày 29 tháng 7 năm 2022 có thể sử dụng Thư viện nền tảng của Google. 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 và thay vào đó 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, nên sử dụng tên mô tả như tên sản phẩm hoặc trình bổ trợ để dễ dàng nhận ra. Ví dụ: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.Uỷ quyền trả lời

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

Thuộc tính
access_token string Mã truy cập được cấp. Chỉ biểu thị nếu đã chỉ định permission hoặc token trong response_type.
id_token string Mã thông báo nhận được đã cấp. Chỉ hiển thị nếu bạn đã chỉ định id_token trong response_type.
code string Mã uỷ quyền đã cấp. Chỉ hiển thị nếu bạn đã chỉ định code trong response_type.
scope string Phạm vi được cấp trong Mã truy cập. Chỉ biểu thị nếu đã 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ỉ biểu thị nếu đã chỉ định permission hoặc token trong response_type.
first_issued_at number Dấu thời gian mà người dùng được cấp phạm vi lần đầu tiên được yêu cầu. Chỉ biểu thị nếu đã 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ỉ biểu thị nếu đã 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, thao tác này có thể chứa thông tin bổ sung vào mã lỗi.