Help > Forum > Интеграция веб-сайтов > Единый вход — аутентификация на основе токенов
Единый вход — аутентификация на основе токенов
Если вы используете WordPress, используйте наш плагин WordPress.
Мы можем сделать это за вас - перейдите в настройки единого входа и выберите свой конструктор веб-сайтов, чтобы наша команда разработчиков интегрировала для вас SSO, начиная с 199 долларов.
Мы также поддерживаем единый вход с использованием SAML, OAuth2, LDAP, SQL и OpenID.
Вы можете использовать API единого входа (SSO) для автоматического входа посетителей на форум. Это может быть полезно, если у вас есть отдельная зона входа на вашем сайте и вы не хотите, чтобы посетители заходили дважды.
API SSO позволяет сделать запрос API для получения токена входа для пользователя, а затем включить его в адрес форума для входа пользователя.
Следуйте приведенным ниже инструкциям, чтобы интегрировать API SSO на свой веб-сайт:
-
Сделайте запрос на получение токена для входа
В скрипте входа на ваш сайт сделайте HTTP-запрос на URL-адрес входа в API SSO:https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USERЗамените APIKEY ключом API, который вы получили на шаге 1.Замените USER на имя пользователя форума, которого вы хотите войти. Если на вашем веб-сайте не используются имена пользователей, вы можете использовать адрес электронной почты в качестве имени пользователя. Кроме того, если в базе данных хранится идентификатор пользователя на форуме, можно использовать параметр &userid= USERID вместо параметра &user= USER.
Вы можете дополнительно включить параметр &Email=email, если вы хотите, чтобы учетная запись форума автоматически создавалась в тех случаях, когда указанной учетной записи форума еще не существует. Мы рекомендуем включить параметр email. (Замените EMAIL на адрес электронной почты пользователя.)
Вы также можете дополнительно указать другую информацию учетной записи, такую как полное имя пользователя (параметр «name»), аватар (параметр «avatar») и другие. Дополнительные параметры должны быть закодированы в URL-адресе.
Если вы используете PHP, мы настоятельно рекомендуем использовать нашу библиотеку SSO для PHP. Он содержит один файл со всем необходимым кодом библиотеки и другие файлы с примерами использования.
-
Получите токен из ответа
Проанализируйте JSON, возвращенный HTTP-запросом, чтобы получить токен аутентификации и идентификатор пользователя, а затем сохранить его в файле cookie или в вашей базе данных. Срок действия токена аутентификации истекает через 6 месяцев или сразу после его использования для обеспечения высокого уровня безопасности. Ответ JSON будет выглядеть примерно так:{ "authtoken": "88SngRVArwrsZ053lfrqL", "userid": 424764 }
При возникновении ошибки появится JSON, похожий на приведенный ниже JSON, а не обычный ответ JSON:
{ "message": "The error message will be here." }
-
Войдите в систему с помощью токена
Передайте токен аутентификации в ссылке вашего форума на своем сайте. Например:<a href="https://FORUM_DOMAIN/?authtoken=AUTHTOKEN&remember=REMEMBER">Forum</a>Замените AUTHTOKEN токеном аутентификации, полученным на предыдущих шагах. Замените REMEMBER на 1, если вы хотите сохранить пользователя в системе даже после закрытия браузера или исключить его, если вы хотите, чтобы пользователь вышел из системы в конце сеанса браузера.
Если вы используете код встраивания, вы можете передать токен аутентификации на страницу, в которую встроен форум, или в атрибут src кода embed. Например:
<!--Begin Website Toolbox Forum Embed Code-->
<div id="wtEmbedCode"><script type="text/javascript" id="embedded_forum" src="https://FORUM_DOMAIN/js/mb/embed.js?authtoken=AUTHTOKEN&remember=REMEMBER"></script> <noscript><a href="https://FORUM_DOMAIN">Forum</a></noscript></div>
<!--End Website Toolbox Forum Embed Code-->Кроме того, если вы не хотите передавать токен аутентификации в адресе форума, вы можете добавить следующий HTML-тег IMG на целевую страницу «успешный вход»:
<img src="//FORUM_DOMAIN/register/dologin?authtoken=AUTHTOKEN&remember=REMEMBER" border="0" width="1" height="1" alt="">Из-за блокировки сторонних файлов cookie в браузере Safari подход с использованием тегов IMG не будет работать в Safari, если ваш форум не настроен на использование субдомена.
-
Выйдите из системы с помощью токена
После выхода пользователя с вашего сайта перенаправьте его на следующий адрес, чтобы также выйти из форума:
https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URLЗамените REDIRECT_URL на закодированный URL-адрес веб-сайта, куда вы хотите отправить пользователя после выхода из форума. Замените AUTHTOKEN токеном аутентификации, полученным на предыдущих шагах. При использовании для выхода из системы токен действителен в течение 6 месяцев, даже если он уже использовался для входа пользователя. Как только токен используется для выхода из системы, срок действия токена немедленно истекает.
В качестве альтернативы, если вы не хотите перенаправлять пользователя, вы можете добавить следующий тег HTML IMG на целевую страницу «выход из системы» на своем веб-сайте:
<img src="//FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">Из-за блокировки сторонних файлов cookie в браузере Safari подход с использованием тегов IMG не будет работать в Safari, если ваш форум не настроен на использование субдомена.
-
Сделайте так, чтобы ваш форум использовал страницу входа на ваш сайт
В разделе Settings -> Single Sign On вашего аккаунта Website Toolbox укажите адрес страницы входа на ваш сайт, чтобы все входы в форум происходили с использованием формы входа на ваш сайт.
-
Сделайте так, чтобы ваш форум использовал страницу выхода из системы вашего сайта
При желании, в разделе Настройки -> Единый вход в учетную запись Website Toolbox укажите адрес страницы выхода из системы вашего веб-сайта, чтобы пользователям отображалась страница выхода из системы вашего сайта после того, как они были вышли из форума.
Используйте собственный домен и наш код для вставки, API и веб-хуки для еще более глубокой настройки интеграция.
If you still need help, please contact us.