chrome.identity

Description

使用 chrome.identity API 获取 OAuth2 访问令牌。


Permissions

identity

Summary

Types

Methods

Events

Types

AccountInfo

PROPERTIES


id

​ string

帐户的唯一标识符。此 ID 在帐户的整个生命周期内不会更改。

AccountStatus

Chrome 84+

TYPE


"SYNC", or "ANY"

InvalidTokenDetails

PROPERTIES


token

​ string

应从缓存中删除的特定令牌。

ProfileDetails

Chrome 84+

PROPERTIES


accountStatus

AccountStatus optional

登录到应返回 ProfileUserInfo 的配置文件的主帐户的状态。默认为 SYNC 帐户状态。

ProfileUserInfo

PROPERTIES


email

​ string

登录到当前配置文件的用户帐户的电子邮件地址。如果用户未登录或未指定 identity.email 清单权限,则为空。


id

​ string

帐户的唯一标识符。此 ID 在帐户的整个生命周期内不会更改。如果用户未登录或(在 M41+ 中)未指定 identity.email 清单权限,则为空。

TokenDetails

PROPERTIES


account

AccountInfo optional

应返回其令牌的帐户 ID。如果未指定,该函数将使用 Chrome 配置文件中的帐户:同步帐户(如果有),否则为第一个 Google 网络帐户。


enableGranularPermissions

​ boolean optional

Chrome 87+

enableGranularPermissions 标志允许扩展提前选择加入细化权限同意屏幕,其中请求的权限被单独授予或拒绝


interactive

​ boolean optional

获取令牌可能需要用户登录 Chrome,或批准应用程序请求的范围。如果交互标志为truegetAuthToken 将根据需要提示用户。当该标志为 false 或省略时,getAuthToken 将在任何需要提示时返回失败。


scopes

​ string[] optional

要请求的 OAuth2 范围列表。 当 scopes 字段存在时,它会覆盖 manifest.json 中指定的范围列表。

WebAuthFlowDetails

PROPERTIES


interactive

​ boolean optional

是否以交互模式启动身份验证流程。

由于某些身份验证流可能会立即重定向到结果 URL,launchWebAuthFlow 会隐藏其 Web 视图,直到第一个导航重定向到最终 URL,或完成加载要显示的页面。

如果交互标志为true,则在页面加载完成时将显示该窗口。如果该标志为 false 或省略,并且初始导航未完成流程,则 launchWebAuthFlow 将返回错误。


url

​ string

启动身份验证流程的 URL。

Methods

clearAllCachedAuthTokens

chrome.identity.clearAllCachedAuthTokens( callback: function, )

Chrome 87+

重置身份 API 的状态:

  • 从令牌缓存中删除所有 OAuth2 访问令牌
  • 删除用户的帐户首选项
  • 从所有身份验证流程中取消对用户的授权

PARAMETERS


callback

​ function

callback参数如下所示:

() => void

getAccounts

chrome.identity.getAccounts( callback: function, )

检索描述配置文件中存在的帐户的 AccountInfo 对象列表。

getAccounts 仅在开发频道上受支持。

PARAMETERS


callback

​ function

callback参数如下所示:

(accounts: AccountInfo[]) => void

getAuthToken

chrome.identity.getAuthToken( details?: TokenDetails, callback?: function, )

使用 manifest.jsonoauth2 部分中指定的客户端 ID 和范围获取 OAuth2 访问令牌。

Identity API 将访问令牌缓存在内存中,因此可以在需要令牌时以非交互方式调用 getAuthToken。令牌缓存自动处理过期。

为了获得良好的用户体验,重要的是交互式令牌请求由应用程序中的 UI 发起,解释授权的用途。如果不这样做,将导致您的用户收到授权请求,或者如果他们未登录,则 Chrome 登录屏幕没有上下文。特别是,当您的应用程序首次启动时,请勿以交互方式使用 getAuthToken。

PARAMETERS


details

TokenDetails optional

Token options.


callback

​ function optional

callback参数如下所示:

(token?: string, grantedScopes?: string[]) => void

  • token

    ​ string optional


  • grantedScopes

    ​ string[] optional

    Chrome 86+


getProfileUserInfo

chrome.identity.getProfileUserInfo( details?: ProfileDetails, callback: function, )

检索登录个人资料的用户的电子邮件地址和混淆的 gaia id。

需要 identity.email 清单权限。否则,返回空结果。

此 API 与 identity.getAccounts 有两个不同之处。返回的信息可离线使用,并且仅适用于配置文件的主帐户。

PARAMETERS


details

ProfileDetails optional

Chrome 84+

配置文件选项。


callback

​ function

callback参数如下所示:

(userInfo: ProfileUserInfo) => void

getRedirectURL

chrome.identity.getRedirectURL( path?: string, )

生成要在 launchWebAuthFlow 中使用的重定向 URL。

生成的 URL 与模式 https://<app-id>.chromiumapp.org/* 匹配。

PARAMETERS


path

​ string optional

附加到生成的 URL 末尾的路径。

RETURNS


string

launchWebAuthFlow

chrome.identity.launchWebAuthFlow( details: WebAuthFlowDetails, callback: function, )

在指定的 URL 处启动身份验证流。

此方法通过启动 Web 视图并将其导航到提供商身份验证流程中的第一个 URL 来启用非 Google 身份提供商的身份验证流程。当提供者重定向到匹配模式 https://<app-id>.chromiumapp.org/* 的 URL 时,窗口将关闭,最终重定向 URL 将传递给回调函数。

为了获得良好的用户体验,重要的是交互式身份验证流由应用程序中的 UI 启动,解释授权的用途。不这样做将导致您的用户获得没有上下文的授权请求。特别是,不要在您的应用程序首次启动时启动交互式身份验证流程。

PARAMETERS


details

WebAuthFlowDetails

WebAuth 流选项(flow options)。


callback

​ function

callback参数如下所示:

(responseUrl?: string) => void

  • responseUrl

    ​ string optional


removeCachedAuthToken

chrome.identity.removeCachedAuthToken( details: InvalidTokenDetails, callback?: function, )

从身份 API 的令牌缓存中删除 OAuth2 访问令牌。

如果发现访问令牌无效,则应将其传递给 removeCachedAuthToken 以将其从缓存中删除。然后,应用程序可以使用 getAuthToken 检索新令牌。

PARAMETERS


details

InvalidTokenDetails

令牌信息(Token information)。


callback

​ function optional

callback参数如下所示:

() => void

Events

onSignInChanged

chrome.identity.onSignInChanged.addListener(
  callback: function,
)

当用户个人资料上的帐户的登录状态发生变化时触发。

PARAMETERS


callback

​ function

callback参数如下所示:

(account: AccountInfo, signedIn: boolean) => void

By.一粒技术服务.

results matching ""

    No results matching ""