5

我正在尝试为托管在 Google 云中的应用程序设置云 IAP。

通过 Web 登录应用程序效果很好,您将被重定向到 Google 身份验证页面,并被重定向回网站,其中会话令牌设置为 cookie。

通过非 Web 界面进行身份验证,遵循编程身份验证指南,尝试其中描述的命令行方式,并使用 iOS SDK。在这两种情况下,登录都可以正常工作,并且我从登录过程中收到一个 id_token 。但是当我提出如下请求时:

curl --verbose --header 'Authorization: Bearer ID_TOKEN' https://an-app.appspot.com/api/user

我总是收到以下回复:

There was a problem with your request. Error code 13

请求中的 ID_TOKEN 是什么无关紧要,响应总是错误代码 13。如果我不指定 Authorization 标头,我将被重定向到 Google 的登录页面。

我缺少任何设置或配置吗?

4

1 回答 1

2

TLDR;

问题是身份验证负载配置错误,在我的情况下,目标受众不正确。这是适当的格式:

// this is the IAP client ID that can be obtained by clicking 3 dots -> Edit OAuth Client in IAP configuration page
const target_audience = "12345.apps.googleusercontent.com"; 

细节

我遇到了同样的问题,我使用这篇文章之间的混合解决了这个问题:如何验证谷歌云功能以访问安全的应用程序引擎端点和这个要点:https ://gist.github.com/plmrry/f78136bba68f810622bc2840497ef7e1

于 2018-08-06T14:44:21.800 回答