如何验证和获取从 Amazon Cognito 收到的 JWT 的信息?
我在 Cognito 中设置了 Google 身份验证,并将重定向 uri 设置为命中 API 网关,然后我收到一个代码,我 POST 到这个端点:
https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html
以 RS256 格式接收 JWT 令牌。我现在正在努力验证和解析 Golang 中的令牌。我尝试使用 jwt-go 解析它,但它似乎默认支持 HMAC,并阅读他们推荐使用前端验证的地方。我尝试了其他一些软件包并遇到了类似的问题。
我在这里遇到了这个答案:Go Language and Verify JWT但假设代码已经过时了,就像刚才说的那样panic: unable to find key。
jwt.io 可以很容易地解码密钥,并且可能也可以验证。我不确定亚马逊生成令牌时公共/秘密密钥在哪里,但据我所知,我也需要使用 JWK URL 进行验证?我找到了一些 AWS 特定的解决方案,但它们似乎都有数百行长。在 Golang 中肯定没有那么复杂吧?
我目前正在研究Golang应用程序.我从客户端收到一个JWT令牌,在Go中我需要解码该令牌并获取信息:用户,名称等.我正在检查可用于处理JWT的库令牌和我来到这个,但我不知道如何简单地做我需要的东西.我有令牌,我需要将信息解码为地图或至少一个json.我在哪里可以找到如何做的指南?谢谢!
最近,应用商店服务器 API 中添加了一种新的 API查找订单 ID 。以及由 App Store 签名的此 API 响应的JWSTransaction ,采用 JSON Web 签名格式。我们想用 go 来验证一下。
我们尝试过什么
type JWSTransaction struct {
BundleID string `json:"bundleId"`
InAppOwnershipType string `json:"inAppOwnershipType"`
TransactionID string `json:"transactionId"`
ProductID string `json:"productId"`
PurchaseDate int64 `json:"purchaseDate"`
Type string `json:"type"`
OriginalPurchaseDate int64 `json:"originalPurchaseDate"`
}
func (ac *JWSTransaction) Valid() error {
return nil
}
func (a *AppStore) readPrivateKeyFromFile(keyFile string) (*ecdsa.PrivateKey, error) {
bytes, err := ioutil.ReadFile(keyFile)
if err …Run Code Online (Sandbox Code Playgroud)