android – https://www.googleapis.com/oauth2/v3/certs中v1,v2和v3之间的区别

前端之家收集整理的这篇文章主要介绍了android – https://www.googleapis.com/oauth2/v3/certs中v1,v2和v3之间的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试通过Google Sign-in在Android上对用户进行身份验证以获取帐户名称,通过GoogleAuthUtil.getToken(getApplicationContext(),app,scopes)获取令牌,然后将令牌发送到我的NodeJS后端服务器以验证

found this伟大的stackoverflow问题如何解码它,缓存密钥ID(KID),所以它不是每次都进行往返等等(还没有实现这个部分,但有点玩它)我唯一的问题是:以下googleapis证书之间的区别是什么:

> www.googleapis.com/oauth2/v1/certs
> www.googleapis.com/oauth2/v2/certs
> www.googleapis.com/oauth2/v3/certs

每个版本的KID都是相同的,但内容完全不同.为什么? v2和v3几乎完全相同,只是v2在属性’n’的值末尾附加了“==”

最重要的是,我使用哪个版本?

我认为这些证书称为JSON Web Keys(JWK).我也读过’x5c’这个词是什么?

PS:我从我的Android应用程序上获取我的nodejs的令牌是:

{
 "iss": "accounts.google.com","sub": "SOME_LONG_NUMBER_THAT_I_DONT_KNOW_IF_SHOULD_SHOW","azp": "SERVER_CLIENT_ID","email": "ANDROID_USER_EMAIL","email_verified": "true","aud": "ANDROID_CLIENT_ID","iat": "SOME_NUMBER","exp": "SOME_NUMBER","alg": "RS256","kid": "e53139984bd36d2c230552441608cc0b5179487a"
}
最佳答案
Version 1似乎是关键ID到证书字符串的基本JSON映射.我没有任何内部信息,但我推测这是一种简单的“本土”格式,谷歌的某人可以轻松地分发他们的公钥.

如您所知,versions 23以JSON Web Key(JWK)格式分发.此格式在正式规范RFC 7517中定义,该规范明确说明了如何构造表示加密密钥的JSON响应.

至于v2和v3之间的区别,它看起来像v2包含trailing equal signs as padding而在v3中它们只是简单地剥离了它们.

I’ve also read the term ‘x5c’ What is that?

the specification,’x5c’被定义为一个可选参数,用于指定一起形成“chain of trust”的加密证书列表,允许客户端应用程序通过依次验证每个证书并跟随链回到已知的信任来验证密钥. root certificate.

Most importantly,which version do I use?

如果可能的话,我建议使用最新版本.但只要键本身相同,它可能并不重要.

猜你在找的Android相关文章