问题描述
根据文档setNonce
我希望随机数将作为 IDToken 的声明包含在内,但是,在使用以下代码设置随机数后:
oneTapClient = Identity.getSignInClient(getContext());
BeginSignInRequest signInRequest = BeginSignInRequest.builder()
.setGoogleIdTokenRequestOptions(BeginSignInRequest.GoogleIdTokenRequestOptions.builder()
.setSupported(true)
.setServerClientId(clientId)
.setNonce("5qb6kvo0q8drrzs50dkv5uzci1ft7p1")
.setFilterByAuthorizedAccounts(false)
.build())
.build();
并从以下位置获取 id 令牌:
SignInCredential credential = null;
try {
credential = oneTapClient.getSignInCredentialFromIntent(data);
String idToken = credential.getGoogleIdToken();
} catch (ApiException e) {
...
}
解码返回的idToken,nonce丢失。
这是缺陷吗?还是我错过了什么?
此外,在文档 Verify the integrity of the ID token 中,它没有提到 ID Token Validation 下定义的 nonce 验证
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)