我正在尝试通过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 2和3以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 – https://www.googleapis.com/oauth2/v3/certs中v1,v2和v3之间的区别全部内容,希望文章能够帮你解决android – https://www.googleapis.com/oauth2/v3/certs中v1,v2和v3之间的区别所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)