Azi*_*ved 5 android node.js google-oauth google-signin
我正在尝试通过Google登录验证Android上的用户以获取帐户名称,通过GoogleAuthUtil.getToken(getApplicationContext(),app,scopes)获取令牌,然后将令牌发送到我的NodeJS后端服务器核实
我发现这个很好的stackoverflow问题,如何解码它,缓存密钥ID(KID)所以它不是每次都进行往返等等(还没有实现这个部分,但有点玩它)我的唯一问题是:以下googleapis证书之间的区别是什么:
每个版本的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"
}
Run Code Online (Sandbox Code Playgroud)
版本1似乎是密钥ID与证书字符串的基本JSON映射。我没有任何内部信息,但我推测这是一种简单的“自产”格式,Google的某人将其格式化为分发公钥的简便方法。
您已经注意到,版本2和3以JSON Web密钥(JWK)格式分发。此格式在正式规范RFC 7517中定义,该规范精确列出了如何构造表示加密密钥的JSON响应。
至于v2和v3之间的区别,似乎v2包含了尾随等号作为填充,而在v3中,它们只是将那些去除了。
我也读过术语“ x5c”是什么?
在规范中,“ x5c”被定义为一个可选参数,用于指定一起形成“信任链”的加密证书列表,该列表将允许客户端应用程序通过依次验证每个证书并遵循链回来验证密钥。到已知的受信任的根证书。
最重要的是,我使用哪个版本?
如果可能的话,我建议使用最新版本。但是,只要密钥本身相同,就没有太大关系。
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |