Социальные аккаунты
AISCouncil поддерживает несколько методов аутентификации, чтобы вы могли войти с любого устройства и привязать аккаунты от разных провайдеров. Аутентификация разработана с акцентом на безопасность и устойчивость — WebAuthn/Passkeys предоставляют аппаратно-защищённый, фишинг-устойчивый вход, который работает даже если third-party OAuth провайдеры недоступны.
Поддерживаемые провайдеры входа
Провайдеры входа разделены на два уровня в зависимости от того, требует ли провайдер верификацию телефона для создания аккаунта.
Уровень 1: С верификацией телефона (могут регистрировать новые аккаунты)
Эти провайдеры требуют верификацию телефона для создания аккаунта, что служит верификацией личности и защитой от спама. Вы можете использовать любой из них для создания нового аккаунта AISCouncil.
| Провайдер | Телефон обязателен? | Примечания |
|---|---|---|
| Да (обязательно с 2021) | Самый распространённый метод входа в мире | |
| Apple | Да (обязательно для Apple ID) | Ориентирован на приватность, опция скрытия email |
| Да (SMS/WhatsApp верификация) | Поддерживает верификацию WhatsApp в некоторых регионах | |
| Да (китайский номер телефона) | Основной метод входа для пользователей в Китае | |
| Telegram | Да (phone-first, всегда требуется) | Номер телефона является идентификатором аккаунта |
Уровень 2: Только привязка (не могут регистрировать, могут привязывать)
Эти провайдеры не требуют универсальной верификации телефона, поэтому они не могут использоваться для создания нового аккаунта. Однако, после создания аккаунта, вы можете привязать любой из них для удобства входа.
| Провайдер | Почему только привязка? | Полезно для |
|---|---|---|
| GitHub | Существуют email-only аккаунты | Разработчики, предпочитающие GitHub login |
| Twitter/X | Телефон стал опциональным в 2023 | Интеграция с соцсетями |
| Discord | Телефон опционален | Игровые и комьюнити пользователи |
Регистрация означает создание совершенно нового аккаунта AISCouncil. Это требует провайдера уровня 1 для верификации вашей личности. Привязка означает подключение дополнительного метода входа к существующему аккаунту. Любой поддерживаемый провайдер может быть привязан после регистрации.
WebAuthn / Passkeys
WebAuthn — это основной метод аутентификации, рекомендуемый для всех пользователей. Он использует криптографию с открытым ключом, поддерживаемую аппаратным модулем безопасности вашего устройства (TPM или Secure Enclave).
Как это работает
- Регистрация: Ваше устройство генерирует пару публичный/приватный ключ. Публичный ключ сохраняется; приватный ключ никогда не покидает защищённое оборудование устройства.
- Аутентификация: Платформа отправляет случайный challenge. Ваше устройство подписывает его приватным ключом после вашего подтверждения через биометрию (отпечаток пальца, сканирование лица) или PIN.
- Верификация: Подписанный challenge проверяется против вашего сохранённого публичного ключа. Общая вычислительная стоимость: одна верификация подписи.
Преимущества
- Устойчивость к фишингу — приватный ключ привязан к домену, поэтому не может использоваться на фейковом сайте
- Без паролей — нечего запоминать, нечего украсть, нет базы паролей для взлома
- Работает офлайн — после начальной регистрации аутентификация локальна для вашего устройства
- Биометрический UX — отпечаток пальца или сканирование лица быстрее, чем ввод пароля
- Кросс-устройство — passkeys синхронизируются между устройствами через iCloud Keychain, Google Password Manager или Windows Hello
Зарегистрируйтесь с провайдером уровня 1 (например, Google) для создания аккаунта, затем настройте Passkey в Settings > Account. После этого вы можете входить просто с помощью отпечатка пальца или сканирования лица — без редиректа OAuth.
Привязка дополнительных аккаунтов
После создания аккаунта вы можете привязать дополнительные провайдеры входа:
- Откройте Settings (иконка шестерёнки в хедере)
- Перейдите в раздел Account
- В Linked Providers нажмите Link Account
- Выберите провайдера и пройдите OAuth flow
- Провайдер появится в вашем списке привязанных
Каждый привязанный провайдер становится альтернативным методом входа. Ваша личность остаётся той же, независимо от того, какой провайдер вы используете для входа.
Кросс-устройная аутентификация
Passkeys — рекомендуемый способ входа на нескольких устройствах:
- Устройства Apple: Passkeys синхронизируются через iCloud Keychain (iPhone, iPad, Mac)
- Android/Chrome: Passkeys синхронизируются через Google Password Manager
- Windows: Windows Hello поддерживает passkeys с PIN, отпечатком пальца или лицом
Для устройств, которые не поддерживают синхронизацию passkey, вы можете войти с любым привязанным OAuth провайдером.
Гостевой режим
Для self-hosted развёртываний без настроенного сервера аутентификации гостевой режим предоставляет полный доступ ко всем функциям без входа в систему.
Гостевой режим предназначен для персонального/self-hosted использования. Гостевые сессии локальны для устройства и не могут синхронизироваться между устройствами. Нет аккаунта для привязки провайдеров и нет способа восстановить данные, если хранилище браузера очищено.
Гостевой режим активируется автоматически когда:
- Запущено на
localhostили preview-домене.pages.dev - Не обнаружена конфигурация аутентификации
- Пользователь явно выбирает "Continue as Guest" на экране входа
Приватность: Какие данные хранятся
AISCouncil хранит минимальные пользовательские данные, и все они остаются на вашем устройстве:
| Данные | Место хранения | Передаётся на сервер? |
|---|---|---|
| Имя | localStorage (ais-user) | Только во время OAuth flow |
localStorage (ais-user) | Только во время OAuth flow | |
| URL аватара | localStorage (ais-user) | Только во время OAuth flow |
| Провайдер входа | localStorage (ais-user) | Только во время OAuth flow |
| API-ключи | localStorage (ais-apikey-*) | Никогда — отправляются только LLM провайдерам |
| История чата | IndexedDB | Никогда |
| Конфигурации ботов | IndexedDB | Никогда (если только вы не делитесь через URL) |
| Настройки | localStorage | Никогда |
OAuth flow проходит через API сервер (api.aiscouncil.net) для обработки callbacks провайдеров, но пользовательские credentials немедленно передаются обратно клиенту через URL-параметры и сохраняются локально. Сервер не поддерживает базу данных пользователей для чата или данных ботов.
Безопасность аккаунта
- Все OAuth токены верифицируются на сервере с использованием публичных ключей провайдера (RS256 JWKS для Google и Apple, HMAC-SHA256 для Telegram)
- Защита от replay Telegram предотвращает повторное использование auth payloads (600-секундное окно nonce)
- Санитизация ввода удаляет HTML спецсимволы из всех OAuth пользовательских данных перед сохранением
- Общие сообщения об ошибках возвращаются при сбоях аутентификации для предотвращения утечки информации; конкретные причины логируются только на сервере
Удаление аккаунта
Для удаления ваших данных:
- Откройте Settings > Account
- Нажмите Delete Account
- Подтвердите удаление
Это очищает все локальные данные (профили, история чата, настройки, API-ключи) с текущего устройства. Поскольку данные хранятся локально, удаление на одном устройстве не влияет на другие устройства, где вы можете быть авторизованы.