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 關注
- 200 瀏覽
添加回答
舉報