Ошибка 500 при аутентификации ALB + AWS Cognito
Я пытаюсь аутентифицировать Lambda через Aws ALB + Cognito. Когда я запускаю DNS-сервер, он перенаправляет меня на страницу входа, я могу зарегистрироваться и проверить пользователя. Кроме того, я мог видеть пользователя, добавленного к пользователям в пуле пользователей. После входа выдает 500 Internal Server Error. Действие по умолчанию для функции выполняется в фоновом режиме, что я видел в журналах.
Не уверен, почему он не перенаправляет / не выполняет лямбду после аутентификации пользователя. Не могли бы вы дать некоторое представление о том, чего мне не хватать в этой настройке.
Я настроил Lambda, ALB и Cognito в терраформ.
resource "aws_cognito_user_pool" "pool" {
name = "alb-test-userpool"
alias_attributes = ["email", "preferred_username"]
verification_message_template {
default_email_option = "CONFIRM_WITH_CODE"
}
email_verification_subject = "Device Verification Code"
email_verification_message = "Please use the following code {####}"
sms_verification_message = "{####} Baz"
auto_verified_attributes = ["email"]
password_policy {
minimum_length = 8
require_lowercase = false
require_numbers = false
require_symbols = false
require_uppercase = false
}
tags {
"Name" = "alb pool"
}
schema {
name = "email"
attribute_data_type = "String"
mutable = false
required = true
}
}
resource "aws_cognito_user_pool_client" "client" {
name = "alb-test-user-client"
user_pool_id = "${aws_cognito_user_pool.pool.id}"
generate_secret = true
allowed_oauth_flows_user_pool_client = true
supported_identity_providers = ["COGNITO"]
callback_urls = ["https://internal-****-****.us-west-2.elb.amazonaws.com/oauth2/idpresponse"]
allowed_oauth_flows = ["code"]
allowed_oauth_scopes = ["openid"]
explicit_auth_flows = ["ADMIN_NO_SRP_AUTH"]
allowed_oauth_flows_user_pool_client = true
}
resource "aws_cognito_user_pool_domain" "pool_domain" {
domain = "${var.domain}"
user_pool_id = "${aws_cognito_user_pool.pool.id}"
}
0 ответов
Балансировщик нагрузки не может связаться с конечной точкой токена IdP или конечной точкой информации о пользователе IdP. Убедитесь, что группы безопасности для вашего балансировщика нагрузки и сетевые ACL для вашего VPC разрешают исходящий доступ к этим конечным точкам. Убедитесь, что ваш VPC имеет доступ к Интернету. Если у вас есть внутренний балансировщик нагрузки, используйте NAT-шлюз, чтобы включить доступ в Интернет.