Я пытаюсь подключить внешний Identity Provider к AWS Cognito с помощью OpenId Connect.Я столкнулся с несколькими проблемами, которые мне удалось преодолеть, передав запросы AWS через некоторые Python Lambda API, которые добавляют / переименовывают параметры OpenId Connect, которые AWS Cognito не предоставляет изначально.Я близок к завершению процесса входа в систему, когда JWT, предоставленный поставщиком удостоверений, должен быть проверен AWS Cognito с использованием сертификата JWKS поставщика удостоверений.
В этот момент Cognito завершает процесс входа в систему с этим сообщениемдобавленный к URL-адресу обратного вызова: #error_description=invalid_token_signature%3A+Could+not+match+the+desired+key+identifier+within+the+list+of+keys&error=invalid_request
Единственная полезная вещь, которую я смог найти, прибегнув к поиску, - это тема на форумах поддержки AWS: https://forums.aws.amazon.com/message.jspa?messageID=878359
В этой темеХорошо известный URL JWKS не содержал ключ kid
в JSON.
В моем случае JWKS kid
В данных JWKS провайдера идентификации появляется:
"keys":[
{
"kty":"RSA",
"e":"AQAB",
"n":"qRoNXLUugbenQTBHswfiGoKuhKkvUPP6A1GllxEZEAX86FiFSrXr7x_suHZ4cBytsmtFuYGymJZAGTk7DLzvMW0BHZpVtMZ3qvBDsYbNQGN4oLLxIy5-Q1rT1XTZhNkJwaj7gndbKHpQ33FqNQphhdchXB28N9GekDCJKzwEEThhxHkBxhq-hYAkd6rZ2fLiiyd5C4MSO0pMB-E_oGrNdYhCoydaFqVAhojn8am9za-JkjZIE9-Shlv_CQGt0yr91h3agVxeR2aeuZjQmvrhALJUeeJxG4D_Xl-w4v_O6nl0nllKXKHFxjP4ejDdNbht2a1L9BgJoYBjq6pUcWT49w",
"kid":"jBiPzwFLIHbNa0SNXKJ6IJFacuMeSdqdsHSOyC4yXio"
}
]
}
Кто-нибудь знает основную причину проблемы?Нужно ли каким-то образом настроить JWKS JSON, предоставляемый AWS, чтобы устранить эту ошибку?