我正在制作一个插件(谷歌日历边栏插件),该插件需要调用一个托管在Google IAP (身份感知代理)后面的API。IAP需要一个openid令牌,而id令牌需要从谷歌的OAuth2服务by using the audience parameter获得授权。我可以通过包含this oauth2 library来实现这一点,但是用户必须登录两次。首先是插件,然后是IAP服务。由于两个登录帐户都登录到Google,并且使用相同的用户,因此他们似乎只需要登录一次。apps脚本中的ScriptApp服务有一个函数getIdentityToken(),但该令牌不能与IAP一起使用,因为它在生成令牌时没有使用audience参数。有人知道如何使用从ScriptApp派生的令牌调用IAP,这样用户就不必登录两次了吗?如果不能直接访问刷新令牌,我就不能自己创建一个带有受众参数的id令牌。
发布于 2019-12-02 23:06:21
这目前是不可能的。作为用户,您必须经历两个不同的OAuth身份验证流,才能在应用程序中使用IAP。
正如您正确描述的,这是由于附加的当前身份验证流(不允许包含"audience“参数)以及无法从当前会话中检索刷新令牌造成的。
如果您有兴趣将您的IAP作为附加组件身份验证流程的一部分,我建议您向谷歌的公共问题跟踪器(https://issuetracker.google.com/issues)提交一个功能请求。
https://stackoverflow.com/questions/59138287
复制相似问题