Перейти к содержанию

Аутентификация

Система аутентификации платформы MONO основана на цифровых подписях EOSIO. Каждый пользователь владеет парой криптографических ключей — приватным и публичным. Приватный ключ используется для создания цифровой подписи, а публичный ключ позволяет проверить подлинность этой подписи. Аутентификация происходит путем подписания случайного вызова сервера приватным ключом пользователя.

В системе MONO используется двухтокенная схема аутентификации: - Access Token — для доступа к API с коротким временем жизни - Refresh Token — для обновления access token с длительным временем жизни

Это обеспечивает баланс между безопасностью и удобством использования.

Вход в систему

🛠️ SDK: Mutations.Auth.Login | 🔗 GraphQL API: Mutation.login

⚠️ Mutations.Auth.Login не найден

Результат:

⚠️ Mutations.Auth.Login не найден

Процесс входа в систему: 1. Клиент отправляет имя пользователя 2. Сервер возвращает случайный challenge 3. Клиент подписывает challenge приватным ключом 4. Сервер проверяет подпись и выдает токены

Обновление токена

🛠️ SDK: Mutations.Auth.Refresh | 🔗 GraphQL API: Mutation.refresh

⚠️ Mutations.Auth.Refresh не найден

Результат:

⚠️ Mutations.Auth.Refresh не найден

Refresh token имеет более длительное время жизни и используется для получения новых access token без повторной аутентификации.

Выход из системы

🛠️ SDK: Mutations.Auth.Logout | 🔗 GraphQL API: Mutation.logout

⚠️ Mutations.Auth.Logout не найден

Результат:

⚠️ Mutations.Auth.Logout не найден

При выходе из системы refresh token добавляется в черный список, что делает невозможным его дальнейшее использование.

Роли и права доступа

Система поддерживает следующие роли: - chairman — председатель совета (полные права) - member — член совета (ограниченные права) - user — обычный пользователь (минимальные права)

Права доступа проверяются для каждого GraphQL запроса с помощью декораторов @AuthRoles.

Безопасность

  • Все токены имеют ограниченное время жизни
  • Используется криптография уровня блокчейна EOSIO
  • Поддерживается черный список refresh token
  • Процесс восстановления ключей защищен email-верификацией (см. раздел "Аккаунты")