Как выполнить единый вход с использованием Discourse и Auth0?

Я пытаюсь выполнить единый вход с использованием Auth0 для wordPress и из моего собственного приложения. поток упомянут ниже.

Изображение добавлено сюда (мало репутации), поэтому не могу опубликовать

Пользователь вводит имя пользователя и пароль в приложении, данные отправляются на сервер, который аутентифицирует пользователя с помощью API auth0 и отправляет обратно токен.

Я установил auth0 SSO plugin2 из GitHub в Discourse, и все идентификаторы клиента, секреты клиентов добавлены в плагин.

Я хочу знать, кто будет выполнять SSO в случае Discourse, когда я вошел в свое приложение.

Для WordPress мы использовали следующий метод.

<form *ngIf="userService.isAuthenticated()" ngNoForm action="http://xx.xx.xx.xx/index.php?auth0=implicit&client_id=xxxxxxxxxxxxxxxxxxxxxxxxx&connection=xxxxxxxxxx"
    method="post">
    <input class="hidden" type="text" id="token" name="token" value="{{tokenValueIsHereReturnedbyAuth0Authentication}}" />
    <input class="hidden" type="text" id="redirect_to" name="redirect_to" value="http://xx.xx.xx.xx/index.html" />
    <input class="btn btn-primary pull-right" type="submit" value="View" />
</form>

Итак, как сделать подобное в дискурсе?

Я пробовал следующее

  1. https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045?u=deanmarktaylor

Однако я не смог завершить это, так как не знаю, что это

https://somesite.com/sso?sso=PAYLOAD&sig=SIG

PAYLOAD и SIG

Обновлять:

Полезная нагрузка, которую я думаю: то, что Auth0 дал мне как access_token, - это полезная нагрузка, которая закодирована как Base64 (с использованием: base64encode dot org), а SIG - это хэш HMAC-SHA256 полезной нагрузки с использованием sso_secret в качестве ключа и полезной нагрузки в кодировке Base64 (точка свободного форматирования com слэш hmac-генератор)


person DiasMr    schedule 18.09.2017    source источник


Ответы (1)


Пожалуйста, ознакомьтесь с моим сообщением в блоге о том, как интегрировать бесшовную систему единого входа с использованием Auth0 и Discourse.

Вам в основном потребуется настроить новое правило Auth0, которое использует уже разработанную библиотеку, поддерживающую Discourse. способ подписывать запросы. Используя свой идентификатор клиента и секрет клиента, скопируйте и вставьте код для этого правила и предложите лучший способ обработки единого входа без использования каких-либо дополнительных плагинов. Легко и приятно :)

https://medium.com/leog-s-blog/discourse-sso-with-auth0-e49486d0294a

person leog    schedule 02.02.2018