我有来自AWS Cognito的JWT令牌。令牌是通过调用getOpenIdTokenForDeveloperIdentity获得的,我正在使用AWS Cognito Developer身份验证标识的流程
使用SHA512对令牌进行哈希处理,并使用Amazons RSA私钥对我正在使用的区域/区域进行签名。
如何使用python外部验证签名?
答案 0 :(得分:2)
在这里回答我自己的问题,希望能帮到别人。
在我的情况下,我想验证通过AWS Cognito Developer Authenticated身份路由获得的JWT令牌的签名。没有AWS API Gateway参与。
与各个网站上的许多海报一样,我无法拼凑出我需要在外部验证AWS JWT令牌签名的位,即服务器端或脚本
我想我已经弄明白并向verify an AWS JWT token signature提出了一个要点。它将从PyCrypto中的Crypto.Signature验证带有pyjwt或PKCS1_v1_5c的AWS JWT / JWS令牌
所以,是的,在我的情况下这是python,但它在节点中也很容易实现(npm install jsonwebtoken jwk-to-pem request)。
我试图强调评论中的一些问题,因为当我试图解决这个问题时,我主要是做正确的事,但有一些细微差别,如python dict排序,或者缺少json和json表示。
我还注意到有关使用签名者证书进行验证的一些问题。我会修改我的要点以表明这一点。
希望它可以帮助某个人。