【发布时间】:2019-11-16 06:16:22
【问题描述】:
如何验证从 Amazon Cognito 收到的 JWT 并从中获取信息?
我在 Cognito 中设置了 Google 身份验证,并将重定向 uri 设置为访问 API 网关,然后我收到一个代码,我将其发布到此端点:
https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html
接收 JWT 令牌,采用 RS256 格式。我现在正在努力验证和解析 Golang 中的令牌。我尝试使用 jwt-go 对其进行解析,但默认情况下它似乎支持 HMAC,并且在他们推荐使用前端验证的地方阅读。我尝试了其他几个包,也遇到了类似的问题。
我在这里遇到了这个答案:Go Language and Verify JWT,但假设代码已经过时,因为它只是说panic: unable to find key。
jwt.io 可以轻松解码密钥,并且可能也可以验证。我不确定 Amazon 生成令牌时公钥/密钥在哪里,但据我了解,我也需要使用 JWK URL 进行验证?我找到了一些 AWS 特定的解决方案,但它们似乎都有数百行长。用 Golang 肯定没那么复杂吧?
【问题讨论】:
标签: amazon-web-services go jwt amazon-cognito jwt-go