为了账号安全,请及时绑定邮箱和手机立即绑定

Amazon Cognito 的 JWK 不包含 X5c 字段

Amazon Cognito 的 JWK 不包含 X5c 字段

Go
慕码人8056858 2022-06-01 10:07:28
我正在尝试将我的 GO Web 服务器连接到 Amazon Cognito 进行身份验证。我正在使用大猩猩的 jwt 中间件。我也在遵循 AuthO 的指南:https ://auth0.com/docs/quickstart/backend/golang/01-authorization该指南使用以下内容创建证书:    for k, _ := range jwks.Keys {        if token.Header["kid"] == jwks.Keys[k].Kid {            cert = "-----BEGIN CERTIFICATE-----\n" + jwks.Keys[k].X5c[0] + "\n-----END CERTIFICATE-----"        }    }AWS 说要使用https://cognito-idp .{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json获取您的 JWKs 文件我这样做了,但我的文件缺少 X5c 字段。看起来像:{    "keys": [{        "alg": "RS256",        "e": "AQAB",        "kid": "abcdefghijklmnopqrsexample=",        "kty": "RSA",        "n": "lsjhglskjhgslkjgh43lj5h34lkjh34lkjht3example",        "use": "sig"    }, {        "alg":        "RS256",        "e": "AQAB",        "kid": "fgjhlkhjlkhexample=",        "kty": "RSA",        "n": "sgjhlk6jp98ugp98up34hpexample",        "use": "sig"    }]}我应该如何验证通过客户端使用此文件发送的授权标头发送的令牌的签名?谢谢您的帮助!
查看完整描述

2 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

您需要将密钥PEM转换为与任何 OpenSSL 或加密库一起使用的格式。在 javascript 中,我使用了 node.js 的jwk-to-pem包。它从不使用x5c道具,它使用nJWK 上的道具,其中包含 RSA 公钥的值。



查看完整回答
反对 回复 2022-06-01
?
catspeake

TA贡献1111条经验 获得超0个赞

您的示例中使用的 JWT 中间件“github.com/auth0/go-jwt-middleware”深深植根于 auth.com 服务如何处理 JWT,可能并不完全适用于其他提供商和服务。



查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信