在Python中使用JSON Web密钥验证访问令牌

2024-10-03 09:09:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我们从客户的服务器获取JSON web密钥,如下所示(密钥字段已更改):

[{'e': 'AQAB',
  'kid': 'vw_aZOVEkZ8TYfJDEewrwruJ2jrrA0',
  'kty': 'RSA',
  'n': 'n_3gWURcfv_dKKbomqqyMEufgqj9Un038_xxxxxx_08nIUaMHCJG8Z8gW-Z3rQP0Iv7gcYv1lol_Asz67tcvDvIksNXWWjkheYbfX_fZ82XKrBbRzDFbYIUa1cwXfM7OodHjlYKLk3ljwMgTHutwvz38E-pNNGP7ZTKmbmOPvM0RPeA_mS-LDDhxq0d3pnUCYRuyzJVZ54SPE2sxxxxxxxxVyZzcPYPBibnNs_v_iiBQsLvwEnMoeTzdJS4D3H2sWS3sh4bnDlhR3950WyCAJugpCeqOlQtx_rBY4EIcH7rZVYkskip200UBoP0q2L61U6XaFTWnKNiFQ',
  'use': 'sig',
  'x5c': ['MIIDYTCCAkmgAwIBAgIQ4SewtoGcTpZGFO4KqNVXBTANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAUQBTAF8AUwB0AHMAVABvAGsAZQBuAFMAaQBnAG4AaQBuAGcwHhcNMTcwMTA5MjMwMDAwWhcNMTgwNzI5MjMwMDAwWjAvMS0wKwYDVQQDHiQAUQBTAF8AUwB0AHMAVABvAGsAZQBuAFMAaQBnAG4AaQBuAGcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCf/eBZRFx+/90opuiaqrIwS5+CqP1SfTfz9hHGg4dCkpm/T/TychRowcIkbxnyBb5netA/Qi/uBxi/WWiX8CzPru1y8O8iSw1dZaOSF5ht9f99nzZcqsFtHMMVtghRrVzBd8zs6h0eOVgouTeWPAyBMe63C/PfwT6k00Y/tlMqZuY4+8zRE94D+ZL4sMOHGrR3emdQJhG7LMlVnnhI8TawT2iJuX1rPhdXJnNw9g8GJuc2z+/+KIFCwu/AScyh5PN0lLgPcfaxZLeyHhucOWFHf3nRbIIAm6CkJ6o6VC3H+sFjgQhwfutlViSySKnbTRQGg/SrYvrVTpdoVNaco2IVAgMBAAGjeTB3MBMGA1UdJQQMMAoGCCsGAQUFBwMDMGAGA1UdAQRZMFeAEFNDsrjGLG6YBHMjas+GOj2hMTAvMS0wKwYDVQQDHiQAUQBTAF8AUwB0AHMAVABvAGsAZQBuAFMAaQBnAG4AaQBuAGeCEOEnsLaBnE6WRhTuCqjVVwUwDQYJKoZIhvcNAQELBQADggEBAEpvqleqHoO5JibA+IrWn1+BS3hNromKy9Crw7nUiJsG87buTg89XNX3aaPRF3l0d5g0NjjBxq/HFWYWwuaGrhNhhjITIOI76+WhCUqdGtMyHifUzfTuXZ8NzVuij1Ur2wBhutXrK7MD+bVd/UsOLE7UANk7Un8BMvsAJIiL4sw1+VB9ZTzpst/Bdp6G5nL3LAMcbKOmJa9GLKfSnLuL8xeUrECh27m4xTXOrsg5dTnTPOLoeQPK4G40BVtBFRpTPKZkgRCwpdvOmW++uvSM+HClor+n2QTa4AnJ26V+0Q8xzIQMv0VdP7vNwfgfy06k8snljELNOgX6+Re3fVG2h1g='],
  'x5t': 'vw_aZOVEkZ8TYfJDElQuJ2jrrA0'}]

在我们的web应用程序中,我们收到一个这样的令牌,我们需要根据上面的密钥来验证它。令牌是使用相同的JSON web密钥从某个外部应用程序签名的。访问令牌如下所示:

^{pr2}$

我研究了Python的“jose”模块

http://python-jose.readthedocs.io/en/latest/jwk/index.html

但是,这个例子失败了,python3(TypeError:cannot convert'bytes'object to str隐式)->gt;bug report field。在

是否有其他选项或模块可用于根据JSON web密钥使用RSA验证此令牌?在


Tags: 模块服务器webjson应用程序客户密钥rsa