Есть два сайта - сайт .Net Core (site1) и сайт Wordpress (site2). Когда я вошел на site1, я хочу перенаправить на какую-то страницу site2 по ссылке с автологином на site2. Пользователи дублируются в двух базах данных (site1 - MSSql Server, site2 - MySql). Как передать учетные данные для входа на site2 и перенаправить на страницу ссылок на этом сайте? Могу ли я использовать REST API, что еще мне следует использовать? Есть идеи, простой пример? Спасибо!!!

0
Hennadii Feshchuk 17 Май 2018 в 12:30

1 ответ

Лучший ответ

Вы можете назвать систему единого входа или SSO. По сути, вы обойдете методы аутентификации WordPress и будете использовать методы сторонних разработчиков. WordPress нужен какой-то локальный пользователь для нормальной работы (например, функция user_can ()).

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

Вот как это делает OneLogin, и вы можете покопаться в их плагине WordPress, чтобы понять, как он работает.

https://wordpress.org/plugins/onelogin-saml-sso/

Или вы также можете сослаться на это.

http://carlofontanos.com/auto-login-to-wordpress-from-another-website/

1
PPL 17 Май 2018 в 09:53