编程语言
首页 > 编程语言> > Python和Flask用于使用Amazon Cognito进行身份验证

Python和Flask用于使用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-gateway/

第一个链接表明:

To verify the signature of an Amazon Cognito JWT, first search for the key with a key ID that matches the key ID of the JWT. Then, use libraries to decode the token and verify the signature.

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

或者,如果我以错误的方式处理这个问题,任何指针或建议?

解决方法:

我最终大部分时间都在想这个,但如果其他人好奇,我用PyJWT库解码了Cognito返回的JWT令牌.看起来相当于flask-jwt-extended,但提供的方法并没有涵盖我正在寻找的功能.

jwt.algorithms.RSAAlgorithm.from_jwk对于解码JWK以获取其公钥非常有用

标签:python,amazon-web-services,flask,jwt,aws-cognito
来源: https://codeday.me/bug/20190910/1799726.html