refresh date: 2026-09-25 robots: noindex
Mô tả
Sử dụng API chrome.identity để lấy mã truy cập OAuth2.
Quyền
identityLoại
AccountInfo
Thuộc tính
-
id
chuỗi
Giá trị nhận dạng riêng biệt của tài khoản. Mã này sẽ không thay đổi trong suốt thời gian tồn tại của tài khoản.
AccountStatus
Enum
"SYNC"
Chỉ định rằng tính năng Đồng bộ hoá được bật cho tài khoản chính.
"ANY"
Chỉ định sự tồn tại của tài khoản chính (nếu có).
GetAuthTokenResult
Thuộc tính
-
grantedScopes
string[] không bắt buộc
Danh sách các phạm vi OAuth2 được cấp cho tiện ích.
-
mã thông báo
chuỗi không bắt buộc
Mã thông báo cụ thể liên kết với yêu cầu.
InvalidTokenDetails
Thuộc tính
-
mã thông báo
chuỗi
Mã thông báo cụ thể cần xoá khỏi bộ nhớ đệm.
ProfileDetails
Thuộc tính
-
accountStatus
AccountStatus không bắt buộc
Trạng thái của tài khoản chính đã đăng nhập vào một hồ sơ có
ProfileUserInfocần được trả về. Mặc định là trạng thái tài khoảnSYNC.
ProfileUserInfo
Thuộc tính
-
email
chuỗi
Địa chỉ email của tài khoản người dùng đã đăng nhập vào hồ sơ hiện tại. Trống nếu người dùng chưa đăng nhập hoặc quyền
identity.emailtrong tệp kê khai không được chỉ định. -
id
chuỗi
Giá trị nhận dạng riêng biệt của tài khoản. Mã này sẽ không thay đổi trong suốt thời gian tồn tại của tài khoản. Để trống nếu người dùng chưa đăng nhập hoặc (trong M41+) quyền tệp kê khai
identity.emailkhông được chỉ định.
TokenDetails
Thuộc tính
-
tài khoản
AccountInfo không bắt buộc
Mã tài khoản có mã thông báo cần được trả về. Nếu không được chỉ định, hàm sẽ sử dụng một tài khoản trong hồ sơ Chrome: tài khoản Đồng bộ hoá (nếu có) hoặc tài khoản web Google đầu tiên.
-
enableGranularPermissions
boolean không bắt buộc
Chrome 87 trở lênCờ
enableGranularPermissionscho phép tiện ích chọn sử dụng sớm màn hình xin phép cấp quyền chi tiết, trong đó các quyền được yêu cầu sẽ được cấp hoặc từ chối riêng lẻ. -
tương tác
boolean không bắt buộc
Để tìm nạp mã thông báo, người dùng có thể phải đăng nhập vào Chrome hoặc phê duyệt phạm vi mà ứng dụng yêu cầu. Nếu cờ tương tác là
true,getAuthTokensẽ nhắc người dùng khi cần. Khi cờ làfalsehoặc bị bỏ qua,getAuthTokensẽ trả về lỗi bất cứ khi nào cần có lời nhắc. -
các phạm vi
string[] không bắt buộc
Danh sách phạm vi OAuth2 cần yêu cầu.
Khi trường
scopesxuất hiện, trường này sẽ ghi đè danh sách phạm vi được chỉ định trong manifest.json.
WebAuthFlowDetails
Thuộc tính
-
abortOnLoadForNonInteractive
boolean không bắt buộc
Chrome 113 trở lênCó chấm dứt
launchWebAuthFlowcho các yêu cầu không tương tác sau khi tải trang hay không. Tham số này không ảnh hưởng đến các quy trình tương tác.Khi được đặt thành
true(mặc định), luồng sẽ chấm dứt ngay sau khi tải trang. Khi được đặt thànhfalse, luồng sẽ chỉ kết thúc sau khitimeoutMsForNonInteractivevượt qua. Điều này hữu ích cho các nhà cung cấp danh tính sử dụng JavaScript để thực hiện lệnh chuyển hướng sau khi trang tải. -
tương tác
boolean không bắt buộc
Có chạy quy trình xác thực ở chế độ tương tác hay không.
Vì một số quy trình xác thực có thể chuyển hướng ngay lập tức đến một URL kết quả, nên
launchWebAuthFlowsẽ ẩn chế độ xem web cho đến khi lần điều hướng đầu tiên chuyển hướng đến URL cuối cùng hoặc hoàn tất việc tải một trang cần hiển thị.Nếu cờ
interactivelàtrue, thì cửa sổ sẽ xuất hiện khi quá trình tải trang hoàn tất. Nếu cờ làfalsehoặc bị bỏ qua,launchWebAuthFlowsẽ trả về lỗi nếu thao tác điều hướng ban đầu không hoàn tất quy trình.Đối với các luồng sử dụng JavaScript để chuyển hướng, bạn có thể đặt
abortOnLoadForNonInteractivethànhfalsekết hợp với việc đặttimeoutMsForNonInteractiveđể trang có cơ hội thực hiện mọi lệnh chuyển hướng. -
timeoutMsForNonInteractive
number không bắt buộc
Chrome 113 trở lênTổng thời gian tối đa (tính bằng mili giây) mà
launchWebAuthFlowđược phép chạy ở chế độ không tương tác. Chỉ có hiệu lực nếuinteractivelàfalse. -
url
chuỗi
URL bắt đầu quy trình xác thực.
Phương thức
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
): Promise<void>
Đặt lại trạng thái của Identity API:
- Xoá tất cả mã truy cập OAuth2 khỏi bộ nhớ đệm mã thông báo
- Xoá lựa chọn ưu tiên cho tài khoản của người dùng
- Huỷ uỷ quyền người dùng khỏi tất cả quy trình xác thực
Thông số
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 106 trở lênTrả về một Lời hứa sẽ được thực hiện khi trạng thái đã được xoá.
Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
): Promise<AccountInfo[]>
Truy xuất danh sách các đối tượng AccountInfo mô tả các tài khoản có trong hồ sơ.
getAccounts chỉ được hỗ trợ trên kênh nhà phát triển.
Thông số
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(accounts: AccountInfo[]) => void
-
tài khoản
-
Giá trị trả về
-
<AccountInfo[]> hứa hẹn
Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
): Promise<GetAuthTokenResult>
Lấy mã truy cập OAuth2 bằng mã ứng dụng khách và phạm vi được chỉ định trong phần oauth2 của manifest.json.
Identity API lưu mã truy cập vào bộ nhớ đệm, vì vậy, bạn có thể gọi getAuthToken theo cách không tương tác bất cứ khi nào cần mã thông báo. Bộ nhớ đệm mã thông báo sẽ tự động xử lý việc hết hạn.
Để mang lại trải nghiệm tốt cho người dùng, điều quan trọng là các yêu cầu mã thông báo tương tác phải được bắt đầu bằng giao diện người dùng trong ứng dụng của bạn, giải thích mục đích của việc uỷ quyền. Nếu không làm như vậy, người dùng của bạn sẽ nhận được yêu cầu uỷ quyền hoặc màn hình đăng nhập Chrome nếu họ chưa đăng nhập mà không có bối cảnh. Cụ thể, đừng sử dụng getAuthToken một cách tương tác khi ứng dụng của bạn được khởi chạy lần đầu.
Lưu ý: Khi được gọi bằng lệnh gọi lại, thay vì trả về một đối tượng, hàm này sẽ trả về hai thuộc tính dưới dạng các đối số riêng biệt được truyền đến lệnh gọi lại.
Thông số
-
chi tiết
TokenDetails không bắt buộc
Các lựa chọn về mã thông báo.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(result: GetAuthTokenResult) => void
-
kết quảChrome 105 trở lên
-
Giá trị trả về
-
Promise<GetAuthTokenResult>
Chrome 105 trở lênTrả về một Promise phân giải bằng mã truy cập OAuth2 như được chỉ định trong tệp kê khai hoặc từ chối nếu có lỗi. Tham số
grantedScopesđược điền sẵn kể từ Chrome 87. Khi có, tham số này chứa danh sách các phạm vi được cấp tương ứng với mã thông báo được trả về.Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
): Promise<ProfileUserInfo>
Lấy địa chỉ email và mã gaia bị làm rối mã nguồn của người dùng đã đăng nhập vào một hồ sơ.
Yêu cầu quyền identity.email trong tệp kê khai. Nếu không, hàm sẽ trả về kết quả trống.
API này khác với identity.getAccounts ở hai điểm. Thông tin được trả về có thể xem khi không có mạng và chỉ áp dụng cho tài khoản chính của hồ sơ.
Thông số
-
chi tiết
ProfileDetails không bắt buộc
Chrome 84 trở lênTuỳ chọn hồ sơ.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(userInfo: ProfileUserInfo) => void
-
userInfo
-
Giá trị trả về
-
Promise<ProfileUserInfo>
Chrome 106 trở lênTrả về một Lời hứa sẽ phân giải bằng
ProfileUserInfocủa tài khoản Chrome chính hoặcProfileUserInfotrống nếu tài khoản códetailsđã cho không tồn tại.Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
): string
Tạo một URL chuyển hướng để sử dụng trong launchWebAuthFlow.
Các URL được tạo khớp với mẫu https://<app-id>.chromiumapp.org/*.
Thông số
-
đường dẫn
chuỗi không bắt buộc
Đường dẫn được thêm vào cuối URL đã tạo.
Giá trị trả về
-
chuỗi
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
): Promise<string | undefined>
Bắt đầu quy trình xác thực tại URL được chỉ định.
Phương thức này cho phép quy trình xác thực với các nhà cung cấp danh tính không phải của Google bằng cách chạy một chế độ xem web và chuyển hướng chế độ xem đó đến URL đầu tiên trong quy trình xác thực của nhà cung cấp. Khi nhà cung cấp chuyển hướng đến một URL khớp với mẫu https://<app-id>.chromiumapp.org/*, cửa sổ sẽ đóng và URL chuyển hướng cuối cùng sẽ được chuyển đến hàm callback.
Để mang lại trải nghiệm tốt cho người dùng, điều quan trọng là quy trình uỷ quyền tương tác phải được bắt đầu bằng giao diện người dùng trong ứng dụng, giải thích mục đích của việc uỷ quyền. Nếu không làm như vậy, người dùng của bạn sẽ nhận được yêu cầu uỷ quyền mà không có bối cảnh. Cụ thể, đừng chạy quy trình xác thực tương tác khi ứng dụng của bạn được khởi chạy lần đầu.
Thông số
-
chi tiết
Tuỳ chọn quy trình WebAuth.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(responseUrl?: string) => void
-
responseUrl
chuỗi không bắt buộc
-
Giá trị trả về
-
<string | undefined> hứa hẹn
Chrome 106 trở lênTrả về một Lời hứa sẽ phân giải bằng URL được chuyển hướng trở lại ứng dụng của bạn.
Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
): Promise<void>
Xoá mã truy cập OAuth2 khỏi bộ nhớ đệm mã thông báo của API nhận dạng.
Nếu phát hiện thấy mã truy cập không hợp lệ, bạn nên chuyển mã đó đến removeCachedAuthToken để xoá mã đó khỏi bộ nhớ đệm. Sau đó, ứng dụng có thể truy xuất mã thông báo mới bằng getAuthToken.
Thông số
-
chi tiết
Thông tin về mã thông báo.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 106 trở lênTrả về một Lời hứa sẽ giải quyết khi mã thông báo đã bị xoá khỏi bộ nhớ đệm.
Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
Sự kiện
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
Được kích hoạt khi trạng thái đăng nhập thay đổi đối với một tài khoản trong hồ sơ của người dùng.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(account: AccountInfo, signedIn: boolean) => void
-
tài khoản
-
signedIn
boolean
-