Ответ
Веб-приложения используют разные протоколы аутентификации, вот основные:
- OAuth 2.0 – делегированный доступ к ресурсам (например, вход через Google/Facebook). Работает через токены (access/refresh).
// Пример запроса access token
fetch('https://oauth.provider/token', {
method: 'POST',
body: 'grant_type=authorization_code&code=...'
});
- JWT (JSON Web Token) – токен в формате JSON с подписью (Header.Payload.Signature). Хранится в localStorage/cookies.
// Пример декодирования JWT
const payload = JSON.parse(atob(token.split('.')[1]));
-
Basic Auth – логин/пароль в заголовке
Authorization: Basic base64(login:password). Устарел из-за отсутствия безопасности. -
OpenID Connect – надстройка над OAuth 2.0 для аутентификации (ID-токен + userinfo).
-
SAML – XML-протокол для enterprise (SSO в корпоративных системах).
Для SPA чаще используют OAuth 2.0 + JWT. Важно: токены должны передаваться по HTTPS, а JWT — подписываться (не использовать unsigned).