Мы используем JWT ( JSON Web Token ) для аутентификации нашего приложения WordPress с помощью внешнего сервиса. Текущий поток, о котором мы думаем, выглядит так:
- Пользователь входит на родительский сайт
- Родительский сайт отправляет запрос POST с информацией о пользователе и токеном JWT на сайт WordPress.
- На сайте WP хранится токен JWT
- Токен проверяется на срок действия каждый раз, когда пользователь посещает новую страницу, и если срок действия токена истек, он будет перенаправлен на родительский сайт для повторного входа в систему.
Мои вопросы:
- Это правильный подход?
- Как мне сохранить токен JWT? Печенье? Или в базе данных, с информацией о пользователе в качестве уникального идентификатора? Примечание: пользователи не будут зарегистрированы на сайте WP.
- Как проверить срок действия?
Существует плагин WP для JWT, но нет документации для него, поэтому я не уверен, что он будет служить моей цели.
authentication
single-sign-on
Рутвик Гангурде
источник
источник
Ответы:
Это появилось как уведомление из-за upvote. Вот как я это решил.
wp_init
Обработчик должен быть использован для обработки запроса POST , отправленный в конечной точке, чтобы извлечь маркер.Конечная точка может быть на любом языке. Кроме того, это общий поток, вы можете использовать его где угодно.
источник
Включение единого входа в WordPress заняло у меня более 18 часов борьбы, но может занять несколько минут:
По сути, вам нужно использовать https://wordpress.org/plugins/wp-force-login/ и модифицированную версию https://as.wordpress.org/plugins/jwt-authenticator/, а затем создать аутентификацию. -защищенная конечная точка на вашем главном сайте, которая генерирует JWT (JSON Web Token) и перенаправляет обратно на специальный URL-адрес вашего сайта WordPress.
Смотрите полный код здесь .
источник