Ответ
Аутентификация — это процесс проверки подлинности заявленной идентичности пользователя, устройства или системы. Она отвечает на вопрос "Кто вы?", в отличие от авторизации, которая определяет "Что вам разрешено?".
Основные методы аутентификации:
-
По знаниям (Something you know):
- Пароли, PIN-коды, секретные вопросы.
-
По владению (Something you have):
- Аппаратные токены (YubiKey), одноразовые коды из приложений (Google Authenticator), SMS.
-
По свойству (Something you are):
- Биометрия: отпечаток пальца, сканирование лица (Face ID), радужная оболочка глаза.
Практический пример: JWT-аутентификация в ASP.NET Core
// Генерация JWT токена после успешной проверки логина/пароля
public string GenerateJwtToken(string userId)
{
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes(_configuration["Jwt:Secret"]);
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new[]
{
new Claim(ClaimTypes.NameIdentifier, userId),
new Claim(ClaimTypes.Role, "User") // Пример добавления роли
}),
Expires = DateTime.UtcNow.AddHours(3),
Issuer = _configuration["Jwt:Issuer"],
Audience = _configuration["Jwt:Audience"],
SigningCredentials = new SigningCredentials(
new SymmetricSecurityKey(key),
SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateToken(tokenDescriptor);
return tokenHandler.WriteToken(token);
}
Почему это важно? Без надежной аутентификации любая система уязвима для несанкционированного доступа. Многофакторная аутентификация (MFA), сочетающая несколько методов (например, пароль + код из приложения), значительно повышает безопасность.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶