В прошлом я нашел много информации о том, что аутентификация LDAP еще не включена, но вы можете обойти это, используя сторонние пакеты. Однако, похоже, что аутентификация LDAP была реализована еще в январе. Я не могу найти информацию о том, КАК это реализовать.
У меня уже есть пользовательская аутентификация в моем проекте, мне просто нужна логика для заполнения метода HandleAuthenticateAsync
.
Я пытался использовать другие примеры, но они не работают с .NET Core 2.0.
Вот единственный соответствующий мне код, который я могу опубликовать
protected override Task<AuthenticateResult> HandleAuthenticateAsync()
{
// Get Authorization header value
if (!Request.Headers.TryGetValue(HeaderNames.Authorization, out var authorization)) {
return Task.FromResult(AuthenticateResult.Fail("Cannot read authorization header."));
}
// TODO: Authenticate user
// Create authenticated user ticket
var identities = new List<ClaimsIdentity> { new ClaimsIdentity("custom auth type") };
var ticket = new AuthenticationTicket(new ClaimsPrincipal(identities), Options.Scheme);
return Task.FromResult(AuthenticateResult.Success(ticket));
// else User not authenticated
return Task.FromResult(AuthenticateResult.Fail("Invalid auth key."));
}
Итак, мой вопрос: как мне реализовать аутентификацию LDAP в .NET Core 2.0?