gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:43:39 24 4
gpt4 key购买 nike

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

found this关于如何对其进行解码、缓存 key ID (KID) 以便它不会每次都进行往返等的伟大 stackoverflow 问题(尚未实现这部分,但有点玩弄它)我唯一的问题是:以下 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 key (JWK)。我还读过术语“x5c” 那是什么?

PS:我从我的 android 应用程序获取我的 nodejs 的 token 是:

{
"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似乎是 key ID 到证书字符串的基本 JSON 映射。我没有任何内部信息,但我推测这是一种简单的“自制”格式,由 Google 的某个人组成,作为分发其公钥的简便方法。

如您所见,versions 23以 JSON Web key (JWK) 格式分发。此格式在正式规范中定义,RFC 7517 ,其中详细说明了如何构造表示加密 key 的 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 来验证 key 。 .

Most importantly, which version do I use?

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

关于android - https ://www. googleapis.com/oauth2/v3/certs 中 v1、v2 和 v3 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31277898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com