Что это простыми словами

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 — полезно убедиться, что кандидат вообще строил такие интеграции. Это важнее, чем название конкретной библиотеки.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.