Что это простыми словами
Laravel Sanctum — это пропускная система для приложения: она выдаёт пользователям токены — что-то вроде пропуска или браслета на фестивале — и потом проверяет их при каждом запросе.
Представьте турникет в офисе. Когда сотрудник впервые проходит через охрану, ему выдают карточку-пропуск. Дальше он просто прикладывает её, и турникет открывается — не нужно каждый раз показывать паспорт. Sanctum делает то же самое в приложении: пользователь один раз вводит логин и пароль, получает токен, и дальше приложение использует этот токен, чтобы убедиться, что человек тот, за кого себя выдаёт.
Официальное определение
Теперь, когда суть понятна, вот как Sanctum описывают в вакансиях и документации. Эту формулировку вы будете встречать у заказчика, в резюме и в речи разработчиков — теперь вы понимаете, что за ней стоит.
«Laravel Sanctum — лёгкая библиотека аутентификации для Laravel, реализующая выдачу API-токенов и аутентификацию через сессии для SPA и мобильных приложений».
Разберём по словам. «Аутентификация» — это проверка личности: «ты точно тот, за кого себя выдаёшь?» (как пропуск на турникете). «API-токен» — цифровой ключ-строчка, которую приложение передаёт при каждом запросе вместо повторного ввода пароля. «SPA» расшифровывается как Single Page Application — веб-сайт, который работает как одна страница и подгружает данные в фоне (пример — интерфейс Gmail: страница не перезагружается, всё меняется «на месте»). «Сессия» — временная запись на сервере о том, что пользователь уже вошёл, пока он не закрыл браузер.
Какую задачу решает
Sanctum решает один конкретный вопрос: как приложение узнаёт, что запрос пришёл от авторизованного пользователя, а не от постороннего?
Без Sanctum разработчику пришлось бы писать всю эту механику с нуля: придумывать, как создавать и хранить токены, как их проверять, как ограничивать доступ по правам. Sanctum даёт готовое решение — надёжное и уже проверенное на множестве проектов.
Чаще всего Sanctum выбирают, когда фронтенд (сайт или мобильное приложение) и бэкенд (сервер) живут отдельно и общаются через API — то есть обмениваются данными по запросам, как официант носит заказы между кухней и залом. В таких проектах без системы токенов не обойтись.
К какой экосистеме относится
Язык — PHP.
Фреймворк — Laravel. Sanctum — официальная библиотека от команды Laravel, она не работает вне этого фреймворка.
Специальность — backend-разработчик на PHP/Laravel.
Sanctum встречается в проектах, где есть отдельный фронтенд: React- или Vue-приложение, мобильное приложение. Если видите в резюме «Laravel + Sanctum», кандидат, скорее всего, строил именно такую архитектуру.
Чем заменяется
Внутри экосистемы Laravel главный аналог — Laravel Passport. Passport решает похожую задачу — выдаёт токены доступа — но реализует полноценный протокол OAuth2. Аналогия: Sanctum — это пропуск для сотрудников своего офиса, а Passport — система, позволяющая пускать людей с удостоверениями из других организаций (как кнопка «Войти через Google»). Для большинства проектов Sanctum достаточно; Passport берут, когда нужна сложная интеграция с внешними сервисами.
Переход между ними относительно несложный: оба решают одну задачу в рамках одного фреймворка, идеи схожи. Разработчик с опытом Sanctum разберётся в Passport за несколько дней, и наоборот.
Что не путать
Sanctum ≠ Laravel. Laravel — это весь фреймворк, Sanctum — лишь одна небольшая библиотека внутри него, отвечающая только за аутентификацию.
Sanctum ≠ Passport как принципиально разные технологии. Оба — инструменты аутентификации Laravel. Passport сложнее и охватывает больше сценариев; Sanctum проще и покрывает большинство типовых задач.
Аутентификация ≠ авторизация. Аутентификация — это «ты кто?», авторизация — «а что тебе можно?». Sanctum отвечает за первое; за второе в Laravel отвечают другие механизмы (Gate, Policy).
Sanctum — это не система безопасности целиком. Это один инструмент для одной задачи. Безопасность приложения зависит от множества других решений.
Насколько это важно при отборе
Короткий ответ: обычно НЕ повод отбраковывать кандидата.
Если кандидат хорошо знает Laravel и строил проекты с API, но у него в резюме указан Passport вместо Sanctum — это не проблема. Он освоит Sanctum за несколько дней, потому что понимает задачу и экосистему. Требовать именно Sanctum при наличии опыта с Passport — значит терять хороших людей без причины.
Когда всё же стоит обратить внимание: если в вакансии есть конкретный сценарий — например, аутентификация мобильного приложения или SPA — полезно убедиться, что кандидат вообще строил такие интеграции. Это важнее, чем название конкретной библиотеки.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.