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 ứ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 bạn.

Nếu bạn gặp bất kỳ vấn đề nào khi sử dụng thư viện, hãy báo cáo vấn đề đó với Kho lưu trữ GitHub.

Thiết lập tính năng 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 lựa chọn khác 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 ứng dụng. Xem gapi.auth2.ClientConfig cho các lựa chọn khác thuộc tính 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 then() để lấy Promise được phân giải khi đối tượng gapi.auth2.GoogleAuth kết thúc đang khởi chạy.

GoogleAuth.the(onInit; onError)

Gọi hàm onInit khi đối tượng GoogleAuth đã hoàn toàn đã khởi tạo. Nếu xảy ra lỗi trong khi khởi chạy (lỗi này có thể xảy ra trong các trình duyệt cũ không được hỗ trợ), thay vào đó, 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 đầy đủ đã khởi tạo.
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.
Giá trị trả về
Promise Promise được thực hiện khi onInit hàm đã hoàn tất hoặc bị từ chối nếu có lỗi khởi chạy. Giải quyết bằng giá trị được trả về từ hàm onInit, nếu có.

Mã lỗi

idpiframe_initialization_failed
Không thể khởi chạy iframe bắt buộc từ Google, ví dụ: do không được hỗ trợ môi trường. 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 khác nhau cho 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 API Console).
cookie_policy string Các miền để tạo cookie đăng nhập. URI, single_host_origin hoặc none. Mặc định là single_host_origin nếu bạn chưa chỉ đị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 fetch_basic_profile không được đặt thành false.
fetch_basic_profile boolean Tìm nạp người dùng thông tin hồ sơ cơ bản khi họ đăng nhập. Thêm "hồ sơ", "email" và "openid" vào phạm vi được yêu cầu. Đúng nếu bạn không chỉ định.
hosted_domain string Miền G Suite mà người dùng phải đăng nhập. Chiến dịch này dễ bị khách hàng sửa đổi, nên hãy nhớ xác minh của người dùng được trả về. Sử dụng GoogleUser.getHostedDomain() trên ứng dụng khách và xác nhận hd trong Mã thông báo ID trên để xác minh miền đúng là miền bạn mong đợi.
use_fedcm boolean Không bắt buộc, giá trị mặc định là True. Cho phép hoặc vô hiệu hoá việc sử dụng trình duyệt API FedCM trong quá trình đăng nhập.
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 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', tham 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 ý. Chiến lược phát hành đĩa đơn mặc định redirect_uri là URL hiện tại được loại bỏ các tham số truy vấn và hàm băm mảnh.
enable_granular_consent boolean Không bắt buộc. Có bật hay không hạt quyền truy cập. Nếu bạn đặt thành false, thì Google càng chi tiết Các quyền đối với tài khoản đối với những mã ứng dụng OAuth được tạo trước đó sẽ bị vô hiệu hoá 2019. Không ảnh hưởng đến các mã ứng dụng OAuth được tạo trong hoặc sau năm 2019, vì các quyền chi tiết hơn luôn được bật cho họ.
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 sẽ được tạo trước tháng 7 Kể từ ngày 29 tháng 2 năm 2022, bạn có thể sử dụng Thư viện nền tảng cũ của Google. 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à thay vào đó, phải sử dụng Google Identity mới hơn Thư viện Dịch vụ. Bạn có thể chọn bất kỳ giá trị nào, tên mô tả như nên sử dụng tên sản phẩm hoặc trình bổ trợ để 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, 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.

Giá trị 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 của gapi.auth2.GoogleAuth.

GoogleAuth.isSignedIn.get()

Trả về việc liệu 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 không đã khởi tạo.

GoogleAuth.isSignedIn.listen(listener)

Theo dõi những thay đổi trong 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() thẻ/vé true vào 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 cho người dùng bằng các tuỳ chọn được chỉ định cho gapi.auth2.init().

Giá trị trả về
Promise Promise được thực hiện bằng thực thể GoogleUser khi người dùng xác thực và cấp thành công phạm vi được 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 phần tiếp theo để biết mã lỗi.

Mã lỗi

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

GoogleAuth.signIn(options)

Đăng nhập vào tài khoản 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ặp khoá-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. Cho 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ề
Promise Promise được thực hiện bằng thực thể GoogleUser khi người dùng xác thực và cấp thành công 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 có lỗi xảy ra (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 bắt buộc.
immediate_failed
Không thể chọn tự động người dùng nào mà không nhắc quy trình đồng ý. Lỗi phát sinh khi bằng cách sử dụng signIn với tuỳ chọn prompt: 'none'. Tùy chọn này không được bắt buộc phải sử dụng, vì gapi.auth2.init sẽ tự động đăng nhập người dùng nếu đã đăng nhập trước đó trong phiên trước đó.

gapi.auth2.SignInOptions

Giao diện đại diện cho các tham số cấu hình khác nhau cho GoogleAuth.signIn(options).

Thông số
prompt string Buộc áp dụng một chế độ cụ thể cho quy trình đồng ý. Không bắt buộc.
Các giá trị có thể có là:

  • consent Máy chủ uỷ quyền sẽ nhắc người dùng đồng ý trước khi quay lại 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. Chiến dịch 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ó các phiên hiện tại.
  • none (không nên)
    Máy chủ uỷ quyền sẽ không hiện nội dung xác thực hoặc sự đồng ý của người dùng màn hình; thì hệ thố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 các phạm vi được yêu cầu.
    gapi.auth2.init sẽ tự động đăng nhập người dùng vào ứng dụng của bạn nếu đã đăng nhập trướ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ạ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 Tham số gapi.auth2.init. Không bắt buộc nếu bạn chưa đặ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 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', tham số này sẽ cho phép bạn ghi đè redirect_uri mặc định sẽ được dùng khi hết thời gian đồng ý luồng. redirect_uri mặc định là URL hiện tại bị loại bỏ của truy vấn tham số 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ề
Promise Promise được thực hiện khi người dùng đã ký bị loại.

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 cho phép truy cập vào các phạm vi đã chỉ định khi không có mạng.

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

gapi.auth2.OfflineAccessOptions

Giao diện đại diện cho các tham số cấu hình khác nhau cho GoogleAuth.grantOfflineAccess(options) .

Thông số
prompt string Buộc áp dụng một chế độ cụ thể cho quy trình đồng ý. Không bắt buộc.
Các giá trị có thể có là:

  • consent Máy chủ uỷ quyền sẽ nhắc người dùng đồng ý trước khi quay lại 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. Chiến dịch 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ó các phiên hiện tại.
scope string Các phạm vi cần yêu cầu (ở 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 Tham số gapi.auth2.init. Không bắt buộc nếu bạn chưa đặ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ã nhận dạng hoặc tham chiếu đến phần tử div mà kết nối đính kèm trình xử lý lượt nhấp.
options Đối tượng chứa các cặp thông số khoá-giá trị. Xem GoogleAuth.signIn().
onsuccess Hàm gọi sau khi đăng nhập xong.
onfailure Hàm gọi khi không đăng nhập được.

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. Xin lưu ý rằng trong mã mới khởi tạo Phiên bản GoogleAuth, 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() để có được một 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 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 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.

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()

Lấy 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.

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 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: Giá trị boolean chỉ định liệu có luôn trả về mã truy cập và phạm vi. 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à đúng (giá trị mặc định) và không có phạm vi bổ sung nào đã yêu cầu.
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 bằng việc tải lại gapi.auth2.AuthResponse khi tải lại Mã thông báo OAuth đã hoàn tất.

gapi.auth2.AuthResponse

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

Thuộc tính
access_token string Mã thông báo truy cập đã được cấp.
id_token string Đã cấp mã thông báo giá trị nhận dạng.
scope string Phạm vi đã 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ấ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 phạm vi được 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 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 tham 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 đã chỉ định khi không có mạng.

Đối số
options Một gapi.auth2.OfflineAccessOptions chứa các cặp thông 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.

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 các chế độ cài đặt do đối tượng options chỉ định.

Đối số
id Mã của phần tử kết xuất nút đăng nhập.
options Đối tượng chứa các chế độ cài đặt dùng để kết xuất 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ố
phạm vi 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 các 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 giá trị mặc định.
chủ đề Chủ đề màu sắc của nút: light hoặc dark (mặc định: light).
thành công Hàm callback để 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 thực thể của gapi.auth2.GoogleUser (mặc định: không có).
thất bại 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.permission(params; callback)

Thực hiện uỷ quyền OAuth 2.0 một lần. Tuỳ thuộc vào thông số được sử dụng, thao tác này sẽ mở ra cửa sổ bật lên cho quy trình đăng nhập bằng Google hoặc cố gắng tải ngầm phản hồi được yêu cầu mà không cần người dùng phải 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 một điểm cuối Google API 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 giá trị nhận dạng một lần để xác định người dùng trong phần phụ trợ của bạn.
  • Bạn có thể sử dụng nhiều Mã ứng dụng khách trong cùng một trang.
Đối số
params Đối tượng chứa các cặp khoá-giá trị của dữ liệu cấu hình. Xem gapi.auth2.AuthorizeConfig cho 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 gapi.auth2.AuthorizeResponse đối tượng 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
Không thể khởi chạy iframe bắt buộc từ Google, do không được hỗ trợ môi trường. 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 bắt buộc.
immediate_failed
Không thể chọn tự động người dùng nào mà không nhắc quy trình đồng ý. Lỗi phát sinh khi bằng cách 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 khác nhau cho 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 API Console).
scope string Bắt buộc. 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'. Khả năng là:
  • id_token để truy xuất Mã thông báo giá trị nhận dạng
  • permission (hoặc token) để truy xuất Mã truy cập
  • code, để truy xuất Mã uỷ quyền
prompt string Buộc áp dụng một chế độ cụ thể cho quy trình đồng ý. Các giá trị có thể có là:

  • consent Máy chủ uỷ quyền sẽ nhắc người dùng đồng ý trước khi quay lại 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. Chiến dịch 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ó các phiên hiện tại.

  • none Máy chủ uỷ quyền sẽ không hiện nội dung xác thực hoặc sự đồng ý của người dùng màn hình; thì hệ thố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 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, mã trả về sẽ chỉ là có thể đổi lấy 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. Mặc định là single_host_origin nếu bạn chưa chỉ định.
hosted_domain string Miền G Suite mà người dùng phải đăng nhập. Nội dung này dễ bị sửa đổi theo khách hàng. 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 để chọn trước trong quy trình đăng nhập. Điều này dễ bị ảnh hưởng bởi sửa đổi bởi người dùng, trừ phi sử dụng prompt: "none".
include_granted_scopes boolean Liệu có yêu cầu Mã thông báo truy cập bao gồm tất cả phạm vi mà người dùng đã cấp trước đó hay không đối với ứng dụng hoặc 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.
enable_granular_consent boolean Không bắt buộc. Có bật hay không hạt quyền truy cập. Nếu bạn đặt thành false, thì Google càng chi tiết Các quyền đối với tài khoản đối với những mã ứng dụng OAuth được tạo trước đó sẽ bị vô hiệu hoá 2019. Không ảnh hưởng đến các mã ứng dụng OAuth được tạo trong hoặc sau năm 2019, vì các quyền chi tiết hơn luôn được bật cho họ.
plugin_name string Không bắt buộc. Nếu được đặt, các Mã ứng dụng khách 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 và thay vào đó phải sử dụng Thư viện Dịch vụ nhận dạng. Bạn có thể chọn bất kỳ giá trị, tên mô tả nào 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'

gapi.auth2.AuthorizeResponse

Phản hồi được trả về cho lệnh gọi lại của hàm gapi.auth2.authorize.

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