使用 chrome.identity API 时是否可以跳过 OAuth2 同意屏幕?



我一直在开发一个扩展程序,它使用chrome.identityAPI(chrome.identity.getAuthToken方法(来接收OAuth2令牌,用于通过Google+注册扩展用户。

我想通过 Google 管理控制台在公司中推送此扩展,但在调用该方法时chrome.identity.getAuthToken我们的扩展用户会显示"身份 API 范围批准"屏幕 - 同意屏幕,用户必须在其中授权扩展程序访问我们想要访问的范围。

我知道,获取 OAuth2访问令牌的过程通常如何工作,并且通常需要该用户的批准才能接收 OAuth2 令牌。

但是,是否可以仅针对通过 Google 管理控制台部署扩展程序的用户自动跳过和授权此 OAuth2 同意屏幕?

我在 Chromium Bugs 列表中发现了一个有趣的列表,其中 OP 指出:

我们正在努力将 Quickoffice for Chrome(这是一个 chrome 扩展程序(与 Drive Web UI 集成。为了处理OAuth,我们使用chrome.identity,效果很好。

以及以下内容:

由于我们的扩展程序被列为第一方应用,因此我们通过 OAuth 流的用户内容屏幕(这是我们想要与云端硬盘网页界面无缝集成的

(。

我找不到任何信息,如何既不将扩展程序作为第一方应用列入白名单以防止显示同意屏幕,也无法自动授权扩展程序访问这些 API 范围。

有什么想法吗?

如果您在清单权限中包含identity.email,并且它是通过管理控制台强制安装的扩展程序或应用,那么您将能够获取用户的身份以及身份验证令牌,而无需用户 oauth 提示批准。

但是,这仅允许您获取用户的身份,而不能获取扩展权限。任何扩展权限(例如 gdrive 访问等(都需要 oauth 提示符。

最新更新