1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
事實(shí)證明,如果您向 fiber 提供密鑰的 url,fiber 具有提取 jwks.json 數(shù)據(jù)的內(nèi)置功能??赡苓€有一種方法可以讓它加載本地文件,但是使用 AWS 密鑰您通常不會(huì)這樣做 - 密鑰可能會(huì)根據(jù)您所處的環(huán)境而改變 - 生產(chǎn)或測試。
您需要知道您的 AWS 用戶池區(qū)域和該用戶池的 ID。這通常在用戶池設(shè)置視圖中提供,但您可以根據(jù) AWS 文檔中提供的以下示例輕松想出它:
https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json
有關(guān)更多信息,請參閱:AWS:驗(yàn)證 JSON 網(wǎng)絡(luò)令牌
這是一個(gè)讓它與 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"))
您現(xiàn)在應(yīng)該能夠使用這樣的請求對其進(jìn)行測試:
curl --location --request GET 'http://127.0.0.1:3000' \
--header 'Authorization: Bearer MyAWSJWTToken..'
或者使用任何 HTTP 客戶端(如 Postman)。您必須在 Authorization 標(biāo)頭中提供您的 JWT。
也可以看看:
- 1 回答
- 0 關(guān)注
- 196 瀏覽
添加回答
舉報(bào)