Я нашел несколько решений для проверки Cognito JWT, но в решении, использующем Cognit User Pool, я использую пользовательский провайдер, поэтому у меня нет идентификатора пула пользователей, я не могу найти способ получить https://cognito-idp.us-east-1.amazonaws.com/ {{poolId}} /. Хорошо известный / jwks. json, наконец-то я нашел в этой статье URL-адрес JWK об OpenID, поэтому я пытаюсь использовать его, но не удача , Я получил сообщение об ошибке.
2020/02/24 19:01:58 не удалось проанализировать JWK: не удалось извлечь из карты: не удалось создать ключ из карты: не удалось извлечь ключ из карты : не удалось получить требуемый ключ n: не удалось декодировать ключ base64 n: недопустимые данные base64 на входном байте 64
Ниже приведен мой код.
package main
import(
"log"
"github.com/lestrrat-go/jwx/jwk"
)
func main() {
set, err := jwk.FetchHTTP("https://cognito-identity.amazonaws.com/.well-known/jwks_uri")
if err != nil {
log.Printf("failed to parse JWK: %s", err)
return
}
log.Println(set)
}