遵循本教程:https://cloud.google.com/solutions/using-firebase-real-time-events-app-engine#securedata
除非我使用Firebase对自定义令牌进行身份验证时发现以下错误,否则我的工作正常工作:
Error: The custom token format is incorrect. Please check the documentation.
我已将问题隔离到App Identity令牌签名。这是因为代码可以很好地部署到app-engine。当我尝试使用devserver / localhost时,这只是一个问题。
我已按照AppEngine文档在本地设置默认服务帐户。
将GOOGLE_APPLICATION_CREDENTIALS
环境变量设置为.json服务帐户密钥的路径。我已经检查了变量的三重检查。
我尝试使用gcloud sdk替代方法,以我的所有者帐户登录:gcloud beta auth application-default login
。仍然没有运气。
要检查我实际更改了帐户,我使用此方法获取:AppIdentityServiceFactory.getAppIdentityService().getServiceAccountName();
。在我详述的两种配置中,此方法返回appname@localhost
。我原以为这是.json中给出的服务帐号ID。即appname@appspot.gserviceaccount.com
。
所以我有点不知道如何进一步调试这个问题,我假设我上面做的检查实际上证明了配置的服务帐户的有效性。也许它是我设置的独特之处?