Перейти к основному содержимому

Социальные аккаунты

AISCouncil поддерживает несколько методов аутентификации, чтобы вы могли войти с любого устройства и привязать аккаунты от разных провайдеров. Аутентификация разработана с акцентом на безопасность и устойчивость — WebAuthn/Passkeys предоставляют аппаратно-защищённый, фишинг-устойчивый вход, который работает даже если third-party OAuth провайдеры недоступны.

Поддерживаемые провайдеры входа

Провайдеры входа разделены на два уровня в зависимости от того, требует ли провайдер верификацию телефона для создания аккаунта.

Уровень 1: С верификацией телефона (могут регистрировать новые аккаунты)

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

ПровайдерТелефон обязателен?Примечания
GoogleДа (обязательно с 2021)Самый распространённый метод входа в мире
AppleДа (обязательно для Apple ID)Ориентирован на приватность, опция скрытия email
FacebookДа (SMS/WhatsApp верификация)Поддерживает верификацию WhatsApp в некоторых регионах
WeChatДа (китайский номер телефона)Основной метод входа для пользователей в Китае
TelegramДа (phone-first, всегда требуется)Номер телефона является идентификатором аккаунта

Уровень 2: Только привязка (не могут регистрировать, могут привязывать)

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

ПровайдерПочему только привязка?Полезно для
GitHubСуществуют email-only аккаунтыРазработчики, предпочитающие GitHub login
Twitter/XТелефон стал опциональным в 2023Интеграция с соцсетями
DiscordТелефон опционаленИгровые и комьюнити пользователи
Регистрация vs. Привязка

Регистрация означает создание совершенно нового аккаунта AISCouncil. Это требует провайдера уровня 1 для верификации вашей личности. Привязка означает подключение дополнительного метода входа к существующему аккаунту. Любой поддерживаемый провайдер может быть привязан после регистрации.

WebAuthn / Passkeys

WebAuthn — это основной метод аутентификации, рекомендуемый для всех пользователей. Он использует криптографию с открытым ключом, поддерживаемую аппаратным модулем безопасности вашего устройства (TPM или Secure Enclave).

Как это работает

  1. Регистрация: Ваше устройство генерирует пару публичный/приватный ключ. Публичный ключ сохраняется; приватный ключ никогда не покидает защищённое оборудование устройства.
  2. Аутентификация: Платформа отправляет случайный challenge. Ваше устройство подписывает его приватным ключом после вашего подтверждения через биометрию (отпечаток пальца, сканирование лица) или PIN.
  3. Верификация: Подписанный challenge проверяется против вашего сохранённого публичного ключа. Общая вычислительная стоимость: одна верификация подписи.

Преимущества

  • Устойчивость к фишингу — приватный ключ привязан к домену, поэтому не может использоваться на фейковом сайте
  • Без паролей — нечего запоминать, нечего украсть, нет базы паролей для взлома
  • Работает офлайн — после начальной регистрации аутентификация локальна для вашего устройства
  • Биометрический UX — отпечаток пальца или сканирование лица быстрее, чем ввод пароля
  • Кросс-устройство — passkeys синхронизируются между устройствами через iCloud Keychain, Google Password Manager или Windows Hello
Рекомендуемая настройка

Зарегистрируйтесь с провайдером уровня 1 (например, Google) для создания аккаунта, затем настройте Passkey в Settings > Account. После этого вы можете входить просто с помощью отпечатка пальца или сканирования лица — без редиректа OAuth.

Привязка дополнительных аккаунтов

После создания аккаунта вы можете привязать дополнительные провайдеры входа:

  1. Откройте Settings (иконка шестерёнки в хедере)
  2. Перейдите в раздел Account
  3. В Linked Providers нажмите Link Account
  4. Выберите провайдера и пройдите OAuth flow
  5. Провайдер появится в вашем списке привязанных

Каждый привязанный провайдер становится альтернативным методом входа. Ваша личность остаётся той же, независимо от того, какой провайдер вы используете для входа.

Кросс-устройная аутентификация

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
EmaillocalStorage (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 пользовательских данных перед сохранением
  • Общие сообщения об ошибках возвращаются при сбоях аутентификации для предотвращения утечки информации; конкретные причины логируются только на сервере

Удаление аккаунта

Для удаления ваших данных:

  1. Откройте Settings > Account
  2. Нажмите Delete Account
  3. Подтвердите удаление

Это очищает все локальные данные (профили, история чата, настройки, API-ключи) с текущего устройства. Поскольку данные хранятся локально, удаление на одном устройстве не влияет на другие устройства, где вы можете быть авторизованы.