python - AWS 认知。如何在 Python 中解码 JWT
问题描述
我想在 Django 应用程序中使用 Cognito 身份提供程序 (Facebook) 对用户进行身份验证。当用户登录时,他会被重定向到主页,并使用access_token
和id_token
。这些是 JWT 令牌。我需要对它们进行解码以获取有关用户的信息。如何实现?
我尝试使用jwt
库。许多资源说我需要将 PUBLIC_KEY 转换为 PEM 格式来解码这些令牌。我访问了:
https://cognito-idp.{aws-region}.amazonaws.com/{user-pool-id}/.well-known/jwks.json
并得到了字典:
{
"keys": [
{
"alg": "RS256",
"e": "AQAB",
"kid": "cKgEILaVv5nXrJNBtfdaEVfA9Sn+GNdMpXbO58Li+eLyiA=",
"kty": "RSA",
"n": "kpE2A8GfBoDiLcnHme9WLSIMezPAXg8ibZ8hIa4GvmJAT1LmR9CDN0Yt-JlKE_gH73HbldpgqCbflygbcZtdn1RMdfafdafaQq3sOY0RJqC8-jdZTWb0Cbw2E-fmmOtgHqz11ZlbqaZYpcRYvyNwuWQs05kikzaUudwp05TTd4N0VznbMMm9peu_Ghw7nqlgkvU8WWO6tD_LzF8VDTroKdGAnrh3kwRVY8le5JwzoGMDVbNtOQFwla8yyxNfRRFQVkcnOxb14BhrO3N8ZsI-E9eB9ZbUNt27DxAMjxsNzERSUx3gm7zq-d2SYyZ31P_FNxOTS0RlKPN69Jlscack7ghM_nZdnw",
"use": "sig"
},
{
"alg": "RS256",
"e": "AQAB",
"kid": "wMYp8SsLhXBtE2wbYK1hQfdafadfadeiYkDYXctg1GkdmTTFs+I=",
"kty": "RSA",
"n": "i_W1pexAB1FhY3oJ0jEGeks1b8jCFZOWU7PAvzi3kdeP7JR2IP91W8FV9ou6gT1dn6F8ZbDvJEF9PNJkmQxwvHkoeYzgaOhNFXBU5Jfv20rQfdafa56PufchgtGndaI22TnnPDg_L5UElaljJvmzTcDTk0xHqJRxhw2LAqembfij5TV_8mSHpqIbWvppOTqT7s3zI7DdfDLDOX7CHFRht3uesX5drVo-S9IsJCJ2l3rCChTCy8e32YY68iHH40t5vVPkuqr1ffMfKYkyXC3urliCawRKnrk62ngAskjRiAihmIl8E79_Ddfn5O5RYqLY71Q4T6Epep4C1ygjlBrToFd8Haw",
"use": "sig"
}
]
}
我不知道从这里拿什么。
解决方案
推荐阅读
- r - 更新 R.3.5.1 C++11 依赖项中的 Rgdal...虽然 C++11 可用
- python - Python pandas:在遍历数据框时将信息附加到行
- git - AWS Codebuild -- 执行 buildspec.yml 时如何读取提交上的标签?
- excel - Excel - 如何查找具有匹配键的所有值?
- json - 使用 PowerShell 组合嵌套的 Json
- java - Android 条件导入、预处理器宏或替代方案
- javascript - 一个滚动按钮,可滚动到 jquery 中的多个元素
- r - 从两列分配唯一 ID,其中值可以在不同行上以相反的顺序排列
- python - 如何使用 Python 3 获取文件的正确绝对路径?
- python - 上传 .pfx 格式的证书时出现错误