Авторизация и права
Типы токенов, области действия и правила доступа к ресурсам.
Вход в sml на рабочей станции
sml auth loginCLI создаёт одноразовый десятиминутный запрос, открывает StackMoreLayers в браузере и показывает короткий код. Сравните код в браузере и терминале, проверьте список запрошенных возможностей и подтвердите вход.
Итоговый ключ возвращается только ожидающему процессу sml: браузер его не
получает. Запрос защищён PKCE, действует один раз и после обмена не может быть
использован повторно. CLI проверяет полученный ключ через auth/whoami перед
сохранением в системное хранилище секретов.
Bearer-токен для интеграций
Authorization: Bearer sml_pat_live_<prefix>.<secret>Персональный токен для скрипта или CI создаётся в Settings → API access. Токен автоматизации привязан к одному соревнованию. Токен не может создать другой токен или расширить права пользователя.
Как сервер принимает решение
Для каждой операции сервер проверяет три условия:
- Область действия токена разрешает этот тип запроса.
- Пользователь имеет нужную роль или доступ к конкретному ресурсу.
- Текущее состояние ресурса допускает изменение.
Например, competitions:write разрешает запрос на изменение соревнования, но
обновить дедлайн сможет только организатор и только в допустимом состоянии.
Проверка текущего токена
curl --fail-with-body \
--header "Authorization: Bearer ${SML_API_TOKEN}" \
https://stackmorelayers.ai/api/v1/auth/whoami/Ротация
Выпускайте отдельные токены по назначению, задавайте срок действия, храните в
системном хранилище или менеджере секретов и отзывайте при подозрении на
утечку. Никогда не записывайте полный заголовок Authorization в журнал.