1 回答
TA贡献1804条经验 获得超3个赞
事实证明,如果您向 fiber 提供密钥的 url,fiber 具有提取 jwks.json 数据的内置功能。可能还有一种方法可以让它加载本地文件,但是使用 AWS 密钥您通常不会这样做 - 密钥可能会根据您所处的环境而改变 - 生产或测试。
您需要知道您的 AWS 用户池区域和该用户池的 ID。这通常在用户池设置视图中提供,但您可以根据 AWS 文档中提供的以下示例轻松想出它:
https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json
有关更多信息,请参阅:AWS:验证 JSON 网络令牌
这是一个让它与 AWS Cognito JWT url 一起工作的简单示例:
authMiddleware := jwtware.New(jwtware.Config{
TokenLookup: "header:Authorization",
AuthScheme: "Bearer",
KeySetURLs: []string{
"https://cognito-idp.some-region-1.amazonaws.com/some-region-1_MYUserPoolId/.well-known/jwks.json",
},
})
// Match any route
app.Use(authMiddleware, func(c *fiber.Ctx) error {
return c.SendString("🥇 Yay!")
})
log.Fatal(app.Listen(":3000"))
您现在应该能够使用这样的请求对其进行测试:
curl --location --request GET 'http://127.0.0.1:3000' \
--header 'Authorization: Bearer MyAWSJWTToken..'
或者使用任何 HTTP 客户端(如 Postman)。您必须在 Authorization 标头中提供您的 JWT。
也可以看看:
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报