如何使用chrome.identity.launchWebAuthFlow缓存身份验证令牌?



我正在使用chrome.identity.launchWebAuthFlow方法从我们的OAuth2服务器启动OAuth2令牌生成。

在身份 API 文档中,指定要对用户进行身份验证,有两种可用方法:getAuthTokenlaunchWebAuthFlow。我们使用后者是因为如文档中指定的那样:

如果您的应用程序使用自己的服务器对用户进行身份验证,则需要使用 launchWebAuthFlow。

我们正在努力缓存结果。在阅读getAuthToken的文档时,似乎涉及一些智能缓存。

Chrome 会捕获响应并将access_tokenrenew_token存储在浏览器中(在此处可见:chrome://identity-internals/)。Chrome 仅在OAuth 服务器过期时请求access_tokenOAuth 服务器access_token

但是,使用launchWebAuthFlow,我们正在努力使用 Chrome 缓存,它每次都会调用我们的 OAuth 服务器。

有谁知道如何使用API的这种方法缓存结果?

getAuthToken仅指使用Google自己的API进行身份验证,如果您想自己做类似的事情,则必须自己实现。

只需使用 chrome.storage 来存储传入的凭据,并在使用它们时,只有在经过足够时间的情况下才会触发 launchWebAuthFlow,否则无论如何都要进行获取调用,如果它未经身份验证返回,则刷新您的令牌

最新更新