Skip to content

Авторизация

Есть опыт проектирования и поддержки нескольких auth-flow в backend-приложениях:

  • session-based / cookie-based authentication для web-сценариев;
  • SSO / OAuth 2.0-авторизация через внешнего identity provider;
  • JWT-авторизация в двух режимах: Bearer Token и HttpOnly Cookie;
  • LDAP-авторизация и интеграция с Microsoft Active Directory.

SSO-авторизация

На практике работал с OAuth-flow через Laravel Socialite:

  • redirect / callback сценарии;
  • валидация state и обмен authorization code на access token;
  • привязка внешнего аккаунта к локальному пользователю;
  • хранение и обновление данных social account (provider, provider_user_id, email, avatar, токены);
  • отдельная обработка обычного web-flow и popup-сценария.

Для входа через внешние провайдеры настраивал сценарии с GitHub, Facebook, Google, Azure, Yandex.

JWT-авторизация

  • два режима JWT: Bearer через Authorization header и browser/web flow через HttpOnly cookies;
  • схема access_token / refresh_token с отдельным claim token_use;
  • refresh token rotation, logout с отзывом токенов и отдельные refresh endpoint-ы;
  • middleware-цепочки для protected route-ов, где один и тот же API может работать и с header-based, и с cookie-based auth;
  • silent refresh для cookie-сценария и явный refresh для API-клиентов;
  • приоритет Authorization header над cookie, чтобы поведение было предсказуемым для интеграций и отладки.

Security и lifecycle auth-сессий

Дополнительно есть опыт со связанными auth-задачами:

  • регистрация, email verification, password reset и повторная отправка verification flow;
  • rate limiting для login / refresh / logout / password reset и других чувствительных endpoint-ов;
  • инвалидация ранее выданных JWT после смены пароля или других security-sensitive изменений;
  • поддержка sign-out на других устройствах и в других сессиях;
  • разделение guest / authenticated / optional-auth маршрутов.

См. также

Сайт обновлен и проверен: