Как это работает
Пользователь нажимает кнопку в вашем кабинете и попадает в Ai-Seven уже авторизованным — форму входа он не видит. Личность пользователя подтверждает подписанный вами токен. Мы проверяем подпись вашим публичным ключом, находим или создаём аккаунт и выдаём пользователю обычную сессию Ai-Seven. Дальше он работает как любой другой пользователь платформы — выданный вами токен в его работе больше не участвует.1
Пользователь нажимает кнопку
В вашем кабинете — «Открыть Ai-Seven» или любая другая формулировка.
2
Вы подписываете токен
Своим приватным ключом, алгоритмом RS256. Токен короткоживущий и одноразовый.
3
Перенаправляете пользователя
На
https://aisevenai.ru/auth/sso?token=<JWT>4
Мы авторизуем пользователя
Проверяем подпись, находим или создаём аккаунт, выдаём сессию и открываем кабинет.
Формат токена
Заголовок
Идентификатор ключа, который мы выдали вам при подключении. По нему мы определяем, каким публичным ключом проверять подпись.
Payload
Всегда
ai-seven:sso. Отличает токен входа от токена Partner API — они не взаимозаменяемы.Идентификатор пользователя в вашей системе. По нему пользователь опознаётся при каждом входе.
Уникальный идентификатор токена, обычно UUID. Обеспечивает одноразовость: повторный вход по тому же токену невозможен.
Данные пользователя для отображения в кабинете. Объект и все его поля необязательны — передавайте то, что есть.
Пример: генерация токена
Токен генерируется на вашем бэкенде в момент перехода — не заранее и не на клиенте. Приватный ключ не должен попадать в браузер.
Аккаунты, созданные через вашу платформу
При первом входе пользователя мы автоматически создаём для него аккаунт в Ai-Seven.Без email
Email не передаётся и не запрашивается — для входа он не нужен.
Вход только через вас
Привязка почты или Telegram для прямого входа в Ai-Seven недоступна.
Полный доступ к платформе
Внутри Ai-Seven пользователь работает как любой другой.
Ошибки
Пользователь не может войти — что проверить
Пользователь не может войти — что проверить
Истёк срок действия токена. Проверьте синхронизацию времени на своих серверах (NTP). Мы допускаем небольшое расхождение часов, но заметный сдвиг приводит к отклонению всех токенов.Токен уже использован. Каждый токен срабатывает один раз. Если пользователь обновил страницу или вернулся назад в браузере, нужен новый переход по кнопке — генерируйте токен на каждый переход заново.Невалидный токен. Убедитесь, что подписываете приватным ключом из той же пары, что и переданный нам публичный, алгоритмом
RS256, и что в payload присутствуют все обязательные поля: aud, sub, exp, jti.Ключ не найден. Используйте kid, который мы выдали при подключении. Если интеграция была приостановлена, свяжитесь с нами.