【发布时间】:2016-01-22 14:20:38
【问题描述】:
我们在令牌验证期间遇到了一个问题。我们有以下例外:
java.security.SignatureException: Invalid audience: xxx-platform. Should be: 787384428332-32charsofidxxxxxxxx.apps.googleusercontent.com
at com.google.identitytoolkit.JsonTokenHelper$AudienceChecker.check(JsonTokenHelper.java:67)
at net.oauth.jsontoken.JsonTokenParser.verify(JsonTokenParser.java:156)
at net.oauth.jsontoken.JsonTokenParser.verify(JsonTokenParser.java:103)
at net.oauth.jsontoken.JsonTokenParser.verifyAndDeserialize(JsonTokenParser.java:116)
at com.google.identitytoolkit.JsonTokenHelper.verifyAndDeserialize(JsonTokenHelper.java:46)
at com.google.identitytoolkit.GitkitClient.validateToken(GitkitClient.java:126)
at com.google.identitytoolkit.GitkitClient.validateTokenInRequest(GitkitClient.java:154)
at com.some.package.user.GitKitUserService.getGitkitUserFromRequest(GitKitUserService.groovy:25)
我们已经多次检查 gitkit-server-config.json 文件,他似乎更正并指向一个有效的 .p12 文件。 p12 被正确找到并打开(因为当我们删除它时我们有一个 FileNotFoundException,或者当我们改变它时解析错误......)但是由于 null 验证器而验证失败...... 这里是:
{
"clientId": "707385568332-32charsofidxxxxxxxx.apps.googleusercontent.com",
"projectId": "xxx-platform",
"serviceAccountEmail": "xxx@xxx-platform.iam.gserviceaccount.com",
"serviceAccountPrivateKeyFile": "/an/existing/path/xxx-platform-44d0379d237c.p12",
"widgetUrl": "https://example.com/authentication/authenticate",
"cookieName": "gtoken"
}
当然,我们可以提供任何可能需要的额外信息,我们真的被这个问题困住了!
提前感谢任何线索!
【问题讨论】:
-
尝试交换 clientId 和 projectId 值?测试时注销或使用隐身模式,否则旧配置可能会缓存在浏览器的令牌中。
-
您好 Chomeh,非常感谢您的回复。是的,我们已经做过很多次了,唉......