Я пытаюсь подключить свой GO веб-сервер к Amazon Cognito для аутентификации. Я использую JWT-Middleware от гориллы. Я также следую руководству от 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 говорит, чтобы получить ваш Файл JWK, использующий https://cognito-idp. {Регион} .amazon aws .com / {userPoolId} /. Всем известный / jwks. json
Я сделал это, но в моем файле отсутствует поле X5 c. Это выглядит так:
{
"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"
}]
}
Как мне проверить подпись токена, отправленного через заголовок авторизации, отправленный клиентом с использованием этого файла?
Спасибо за вашу помощь!