Расширение: Авторизация
Authorization system with role-based access control. Must-have for all apps that manage personal or access-restricted data.
AIcaffeinelabs
official
Данные
Что делает навык
Навык добавляет систему аутентификации и авторизации с контролем доступа на основе ролей (RBAC) для приложений на Internet Computer, используя паттерн Mixin. Он автоматически управляет ролями (admin, user, guest), захватывает верифицированные атрибуты пользователя (имя, email) при входе через Internet Identity и обеспечивает защиту эндпоинтов.
Когда применять
- Создание приложений, работающих с персональными данными, требующими разграничения доступа по ролям.
- Интеграция входа через Internet Identity с захватом верифицированных email и имен пользователей.
- Защита публичных функций бэкенда от несанкционированного доступа с использованием guard-паттернов.
- Управление профилями пользователей, где первый вошедший пользователь автоматически становится администратором.
Как работает
- Импортировать пакеты mo:caffeineai-authorization/access-control и mo:caffeineai-authorization/MixinAuthorization в main.mo.
- Инициализировать состояние accessControlState через AccessControl.initState() и включить include MixinAuthorization(accessControlState, callback) в тело актора.
- В callback-функцию MixinAuthorization передать логику сохранения верифицированных атрибутов (email, name, sso) в собственное состояние.
- Применять guard-проверки AccessControl.hasPermission или AccessControl.isAdmin в начале каждой публичной функции, вызывая Runtime.trap при отказе.
- На фронтенде использовать useInternetIdentity hook для управления сессией и запросов к методам getCallerUserProfile/saveCallerUserProfile.
- Обеспечить, чтобы пользователь вводил имя при первом входе с новым principal, если профиль еще не создан.
Примеры запросов агенту
Добавь систему авторизации с ролевым доступом в мой проект, используя MixinAuthorization.
Настрой захват верифицированного email пользователя при входе через Internet Identity и сохрани его в состояние.
Защити функцию создания записи проверкой роли admin через AccessControl.hasPermission.
Что понадобится
- Пакет mo:caffeineai-authorization (mops package).
- Фронтенд-хук useInternetIdentity из @caffeineai/core-infrastructure.
- Переменные окружения trusted_attribute_signers и frontend_origins (настраиваются платформой автоматически).
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «extension-authorization» из репозитория:
# https://github.com/caffeinelabs/skills
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r extension-authorization/ ~/.claude/skills/extension-authorization/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.