chrome.identity.getAuthToken 需要用户重新授权,即使用户已经授予我的应用权限

时间:2021-07-08 08:01:50

标签: google-chrome google-chrome-extension google-oauth

chrome.identity API 似乎需要用户重新授权,即使用户过去已授予我的应用程序权限。

以下是正在执行的步骤:

使用

获取所需范围的用户授权
chrome.identity.getAuthToken(
{ account: { id: googleAccountId }, interactive: true }, 
(token) => { console.log("Access token", token); })

这会弹出一个对话框,提示用户授权我的应用访问某些敏感范围。一旦用户接受它,我就会获取访问令牌并使用它来获取用户信息。

每当我需要访问令牌时,我都会调用 chrome.identity.getAuthToken。我了解chrome在内部缓存它,所以我不需要担心多次调用它。

每隔一段时间,用户似乎需要重新授权我的应用程序。即以非交互方式调用 chrome.identity.getAuthToken 不起作用。需要再次提示用户授权我的应用程序。这就是问题。

预期行为是: 一旦用户授权我的应用程序并授予某些敏感范围的权限,除非密码更改/需要访问新范围,chrome.identity API 永远不会要求用户重新授权我的应用程序。 这是极差的用户体验。

注意事项

当系统提示用户再次对我的应用重新授权时,我在 account.google.com 下检查了该用户对我的应用的权限。我的应用程序已经拥有所需的权限。 我的理解是,一旦用户授予我的应用权限 - 它不应再次显示对话框(对于该用户)。

(我对 chrome.identity API 的理解可能不正确,如果是这样,请告诉我)。

非常感谢任何输入。

0 个答案:

没有答案