Моя идея проста: я хочу использовать Discourse в качестве провайдера единого входа (SSO) на одном из моих других сайтов. Мне посоветовали использовать Discourse Auth Proxy от Discourse. Я использовал следующую конфигурацию:
#!/bin/sh
# необходимо установить следующие переменные окружения и запустить
# образ следующим образом
PROXY_URL=http://0.0.0.0:80
ORIGIN_URL=https://mycustomsite.com
SSO_SECRET=RandomStringSecret
SSO_URL=https://my.discourseforum.com
HOST_PORT=7925
docker run -d --restart=always -e ORIGIN_URL=$ORIGIN_URL -e PROXY_URL=$PROXY_URL -e SSO_SECRET=$SSO_SECRET -e SSO_URL=$SSO_URL -p $HOST_PORT:80 discourse/auth-proxy
Внутри моего форума Discourse я включил:
включить провайдера Discourse Connect
В секретах провайдера Discourse Connect я указал https://mycustomsite.com, а в качестве секрета — RandomStringSecret. Однако я получаю следующую ошибку:
Ошибка аутентификации из-за отсутствующего секрета. Свяжитесь с администраторами сайта, чтобы решить эту проблему.
Я попытался декодировать полезную нагрузку из параметров запроса и получил следующие данные:
{
return_sso_url: 'http://0.0.0.0:80/',
nonce: '9431ad68-55b3-49a6-8b9a-a1d7209506e7'
}
Не уверен, поможет ли это, но я уже борюсь с этим последние два часа. Пожалуйста, дайте знать, правильно ли я использую этот инструмент. Я хотел бы создать базового провайдера SSO для Discourse для своего сайта, который будет предоставлять мне данные пользователей, которые я смогу использовать на всём своём сайте.
