Вот проблема, которую я пытаюсь решить:
- У меня есть веб-приложение на
Asp.netCore 3.1 с Identity (пока не Identity Server), работающее по адресуbeta.example.com. Пользователи могут регистрироваться, создавать профили, входить через Google/FB и т.д. Стандартная аутентификация и авторизацияASP.net, без существенных изменений в коде. - У меня также есть форум Discourse, работающий на поддомене (
forumbeta.example.com).
Я хочу, чтобы хранилище пользователей поддерживалось в приложении на dotnet core. Приложение будет выступать в роли провайдера идентификации (Identity Provider). Когда пользователь пытается войти в Discourse, форум должен запросить у веб-приложения информацию о пользователе (имя, email, возможно, другие атрибуты). Если пользователь существует в веб-приложении и уже вошел в систему, Discourse должен авторизовать его и разрешить публикацию сообщений. Если пользователь не существует или не вошел в систему, его следует перенаправить на страницу входа/регистрации приложения, где он сможет создать учетную запись или войти, а затем вернуться обратно в Discourse.
Я много читал на эту тему и выяснил, что мне нужно установить и настроить Identity Server 4 в приложении на dotnet, чтобы оно могло стать провайдером идентификации. Затем, по-видимому, мне нужно будет либо:
- Использовать встроенную функцию SSO в Discourse
ИЛИ - Установить плагин OAuth2 в Discourse и настроить его
Я немного запутался и очень надеюсь на помощь опытных специалистов, чтобы понять, как действовать дальше. Информация в интернете несколько устарела, и я не хочу тратить часы на тупиковые пути.