为了为我的网站设置Google Identity Toolkit,我开始使用Quick-start App for Node.js。
它在localhost上工作正常。 但当我将它移动到一个真正的应用程序引擎实例时,它就不再起作用了。 我收到gitkitClient.verifyGitkitToken()返回的错误:
无效令牌:无法验证ID令牌:错误的收件人,有效负载 观众!= requiredAudience
我找到a very helpful post on stackoverflow about more or less the same issue,对于Java而不是node.js:看起来projectId和clientId之间存在不匹配。
我更改了我的gitkit-server-config.json文件以交换 projectId 和 clientId 值并且它有效!
我现在有一个有效的解决方案,但我觉得保持这样的安全感并不安全......
我希望一位Google员工会读到这篇文章!
[编辑]
根据wyhao31的评论,我仔细查看了gitkitclient.js source code, projectId 和 clientId 都添加到了相同的受众群体中数组。 经过更多测试后,我发现您只能将项目ID(' my-project-name')放在gitkit-server-config.json文件中。 令人讨厌的是,如果你添加一个' clientId'属性名称它也在工作......
答案 0 :(得分:0)
根据您的描述,如果您像这样阅读gitkit-server-config.json文件
var gitkitClient = new GitkitClient(JSON.parse(fs.readFileSync('./gitkit-server-config.json')));
我认为问题可能是由使用旧的nodejs客户端lib引起的。您可以尝试将客户端lib更新到最新版本(0.0.6)吗?或者您可以直接使用code。