2

我正在制作一个插件(Google 日历的侧边栏插件),该插件需要调用托管在 Google IAP(身份识别代理)后面的 API。IAP 需要一个 openid 令牌,而 id 令牌需要通过使用 Audience 参数从 Google 的 OAuth2 服务授予。我可以通过包含这个 oauth2 库来完成这项工作,但是用户必须登录两次。首先是插件,其次是 IAP 服务。由于两次登录都是 Google 的,并且使用相同的用户,因此他们似乎只需要登录一次。apps 脚本中的 ScriptApp 服务有一个函数getIdentityToken(),但该令牌不适用于 IAP,因为它在生成令牌时没有使用受众参数。有谁知道使用从 ScriptApp 派生的令牌调用 IAP 的方法,以便用户不必登录两次?如果没有直接访问刷新令牌,我自己将无法使用观众参数创建 id 令牌。

4

1 回答 1

0

目前这是不可能的。作为用户,您必须经历两个不同的 OAuth 身份验证流程才能在您的应用程序中使用 IAP。

正如您正确描述的那样,这是由于附加组件当前身份验证流程(不允许您包含“audience”参数)以及无法从当前会话中检索刷新令牌。

如果您有兴趣将您的 IAP 作为附加身份验证流程的一部分包含在内,我建议您向 Google 的公共问题跟踪器 ( https://issuetracker.google.com/issues ) 提交功能请求。

于 2019-12-02T15:06:21.217 回答