繁体   English   中英

使用 Amazon Cognito 进行身份验证的 Python 和 Flask

[英]Python and Flask for authentication with Amazon Cognito

这是最终目标:使用 Amazon Cognito 用户池编写支持登录/身份验证的 Flask 应用程序。 这两个框架对我来说都是相当新的。

我使用无服务器身份验证从 Cognito 获取 JWT 访问令牌。 但是,我不确定如何或需要什么来验证令牌是否有效。 我已经阅读了本网站上的一些答案以及以下链接:

https://aws.amazon.com/premiumsupport/knowledge-center/decode-verify-cognito-json-token/ https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools- with-api-网关/

第一个链接建议:

要验证 Amazon Cognito JWT 的签名,首先搜索密钥 ID 与 JWT 的密钥 ID 匹配的密钥。 然后,使用库对令牌进行解码并验证签名。

我从提供的链接中检索了公钥的 JWK,但我不确定如何使用它。 我可以使用哪些库来解码令牌,记住我在 Python 环境中工作? 我查看了flask-jwt-extended,但提供的类和方法似乎并没有解决我的确切问题。 我应该覆盖 flask-jwt-extended 中的类和函数以获得所需的效果吗?

或者,如果我以错误的方式处理这个问题,有什么指示或建议吗?

我最终主要解决了这个问题,但如果其他人好奇,我使用 PyJWT 库解码 Cognito 返回的 JWT 令牌。 深入了解flask-jwt-extended,但提供的方法没有涵盖我正在寻找的功能。

jwt.algorithms.RSAAlgorithm.from_jwk 可用于解码 JWK 以获取其公钥

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM