Help > Forum > Интеграция веб-сайтов > Один вход - проверка подлинности на основе токенов

Один вход - проверка подлинности на основе токенов

Если вы используете WordPress, используйте наш WordPress плагин.

Мы можем сделать это для вас - Перейти к Настройки единого входа и выберите создателя сайта, чтобы наша команда разработчиков интегрировала SSO для вас, начиная с $149.

Мы также поддерживаем Single Sign On с помощью СЭМЛ, OAuth2, LDAP, SQL и OpenID.

Вы можете использовать API Single Sign On (SSO) для автоматического входа посетителей в ваш форум. Это может быть полезно, если у вас есть отдельная зона входа на вашем сайте, и вы не хотите, чтобы ваши посетители вошли в систему дважды.

SSO API позволяет отправлять HTTP-запрос из вашего приложения для входа пользователя в ваш форум или из него. Токен возвращается API, который затем используется в небольшом теге IMG на следующей странице для хранения необходимых файлов cookie браузера.

Пожалуйста, следуйте инструкциям ниже, чтобы интегрировать SSO API в свой веб-сайт:

  1. Если вы используете PHP, мы настоятельно рекомендуем использовать наш Библиотека SSO PHP, Он содержит один файл со всем библиотечным кодом, который вам понадобится, и другие файлы с примером использования.

  2. Получите ключ API.
  3. В скрипте входа для вашего сайта сделайте Запрос HTTP на URL-адрес входа API SSO:
  4. https://USERNAME.websitetoolbox.com/register/setauthtoken?type=json&apikey=APIKEY&user=USER

    Заменить APIKEY с ключом API, который вы получили на шаге 1.

    Заменить USER с именем пользователя форума, в который вы хотите войти.

    Вы можете дополнительно включить &email=EMAIL , если вы хотите, чтобы учетная запись форума автоматически создавалась в случаях, когда указанная учетная запись форума еще не существует. Рекомендуется включить параметр email. Вы также можете опционально указать другую информацию учетной записи или &pw=PASSWORD , чтобы установить пароль новой учетной записи. (Замените EMAIL и PASSWORD адресом электронной почты и незашифрованным/нехешированным паролем пользователя.) В случаях, когда учетная запись создается без пароля, пользователь не сможет войти непосредственно на форум, если он сначала не сбросит свой пароль на странице входа. Вход в систему SSO будет работать плавно даже без пароля учетной записи пользователя.

    Вы также можете использовать адрес электронной почты в качестве имени пользователя.

  5. Проанализировать JSON, возвращаемый HTTP-запросом, чтобы получить токен аутентификации и идентификатор пользователя, а затем сохранить его в файле cookie. Ответ JSON будет выглядеть примерно так:

    {
      "authtoken": "88SngRVArwrsZ053lfrqL",
      "userid": 424764
    }
    

  6. На своем сайте добавьте следующий тег HTML IMG на целевую страницу “Вход успешно”:

    <img src="//USERNAME.websitetoolbox.com/register/dologin?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    Заменить AUTHTOKEN с маркером аутентификации, извлеченным на шаге 3.

    Окно браузера, которое загружает тег IMG, будет регистрироваться в форуме как пользователь с именем пользователя, предоставленным на шаге 2.

  7. На своем сайте добавьте следующий HTML-тег IMG на целевую страницу “Выйти успешно”:

    <img src="//USERNAME.websitetoolbox.com/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    Заменить AUTHTOKEN с маркером аутентификации, извлеченным на шаге 3.

  8. В окне Настройки -> Один вход вашей учетной записи в панели инструментов веб-сайта укажите адрес Страница входа , чтобы убедиться, что все учетные записи форума происходят с использованием формы входа вашего сайта.

  9. В окне Настройки -> Один вход вашей учетной записи в панели инструментов веб-сайта укажите адрес Страница выхода , чтобы пользователи отображали страницу выхода вашего сайта после того, как они вышли из форума.

  10. Настройте субдомен для вашего форума. Например, https://forums.yourwebsite.com. Этот шаг является необязательным. Тем не менее, браузер Safari поставляется с консервативной политикой файлов cookie, которая ограничивает запись файлов cookie только теми страницами, которые были выбраны пользователем (“перейдите к”). Это предотвращает регистрацию файлов cookie форума на целевой странице “Вход успешно”. Таким образом, единственный способ заставить Single Sign On работать в браузере Safari - использовать субдомен для вашего форума или также передать токен аутентификации в ссылке вашего форума на вашем сайте. Например:

    <a href="https://USERNAME.websitetoolbox.com/?authtoken=AUTHTOKEN">Forum</a>

    Если вы используете код вставки, вы можете передать токен аутентификации на страницу, в которую встроен форум, или в ср атрибута кода вставки.

Важные примечания:

  • Если вы приобрели управляемое доменное имя или используете пользовательское доменное имя для форума, используйте это доменное имя вместо “USERNAME.websitetoolbox.com”.
  • Имя пользователя должно быть заменено вашим именем пользователя панели инструментов веб-сайта.
  • А &userid=USERID может быть передан вместо параметра &user=USER параметр.
  • При возникновении ошибки появится JSON, похожий на JSON ниже, а не обычный ответ JSON:

    {
       "message": "The error message will be here."
    }
    

  • Если вам нужно выйти из журнала пользователя и у вас нет маркера аутентификации, который был возвращен во время HTTP-запроса на шаге 2, можно повторно использовать маркер аутентификации, сделав HTTP-запрос по URL-адресу ниже или можно создать новый маркер проверки подлинности.

    https://USERNAME.websitetoolbox.com/register/getauthtoken?type=json&apikey=APIKEY&user=USER

  • Вы также можете интегрировать процесс регистрации вашего сайта. Подробнее...
  • Токен проверки подлинности, полученный на шаге 3, истекает при создании нового токена проверки подлинности или сразу после его использования для обеспечения высокого уровня безопасности. Токен аутентификации, используемый для выхода из системы, истекает только после создания нового токена аутентификации.
  • Обычно пользователь будет выходить из системы в конце сеанса браузера. Чтобы пользователь вошел в систему даже после закрытия браузера, добавьте &remember=1 до конца URL-адреса на шаге 5 и 9.
  • Строка запроса должна быть закодирована URL-адресом.
  • Используйте наши API для всех видов других интеграций.


If you still need help, please contact us.