ОБНОВЛЕНИЕ:
Хорошо, я понял, что существует тип аутентификации session
, который не задокументирован в документах по функциям аутентификации.
Проблема с вашим текущим кодомчто вы не указываете challenge
в явном виде, заданный по умолчанию вызов по умолчанию - SessionAuthChallenge.Ignore
, поэтому вы должны изменить его на SessionAuthChallenge.Unauthorized
или SessionAuthChallenge.Redirect
Таким образом, ваш код должен выглядеть следующим образом:
install(Authentication) {
session<AuthSession> {
challenge = SessionAuthChallenge.Unauthorized
validate { session ->
// TODO: do the actual validation
null
}
}
}
OLD:
Вы не указываете тип аутентификации, который хотите использовать, вероятно, basic
, form
или jwt
, возможно, вы захотитепопробуйте что-нибудь подобное для аутентификации формы, например:
install(Authentication) {
form("login") {
skipWhen { call -> call.sessions.get<AuthSession>() != null }
userParamName = "username"
passwordParamName = "password"
challenge = FormAuthChallenge.Unauthorized
validate { credentials ->
// Handle credentials validations
}
}
}
Для получения дополнительной информации обратитесь к официальной документации .