我在我的应用程序中使用OpenID Connect,我从Google正确获得了JWT令牌,我需要使用Signature验证它。 为实现此目的,我需要公钥,Google提供包含其所有公共证书的URL。
https://www.googleapis.com/oauth2/v3/certs
但它会返回:
{
"keys": [
{
"kty": "RSA",
"alg": "RS256",
"use": "sig",
"kid": "f86c80f329b3ac69232463382fc1644167211d23",
"n": "wItpB2JpNKNgBM-xjgFbMGLYySu0SvaSA8Ag_MpqWrlWOvWvd3JQFrNKdw1nCGrGSczP6FdCRptogSEO51UB3n1h2quH-YW3NPGt0JGqXdRARJ1I1cOVq3dvrPaZhtDcEQCBAdqEmix_ngQM5vD1t8J22JO_v_JzJlTkzfYu5dPeSoXZymtgGeofdu38L1y-FlFqD09p6IP6Fxza22cv3ST3Dsw3eQ1yzGi5YuO0scTpds0jqPAslddclo22zapqB1_6qplwunpT3qAuObYR5Xn3gPseyQiwDtIk7MpEkb_AA_r4bpUGIh9-1SX3ev8urVZJ1Sg1Y_Rr-u7oQO9pdQ",
"e": "AQAB"
},
这是什么意思?这里的公钥或证书在哪里?
感谢您的帮助!
答案 0 :(得分:6)
这看起来像JSON Web Key Set,其中包含RSA公共签名密钥的说明。这些键的参数e
和n
依次在JSON Web Algorithms中描述。
答案 1 :(得分:2)
除了Pieter的回答,你可以在这里找到这些RSA密钥的PEM X.509证书表示:https://www.googleapis.com/oauth2/v1/certs