Могу ли я использовать PHP аутентификацию пользователя приложения для OID C с Nodejs oid c -provider? - PullRequest
0 голосов
/ 04 февраля 2020

Существует устаревшее веб-приложение PHP, в котором есть активная база данных пользователей (Mysql / Mariadb), а PHP в настоящее время заботится о входах пользователей в систему. Мне нужно подключить это приложение к новому стороннему приложению с помощью какого-то SSO-решения. Новым поставщиком поддерживаются OpenID Connect (OID C) и ADFS. В настоящее время проверяется OID C.

Предварительные условия:

  1. Новое приложение будет клиентом.
  2. Требуется неявный поток для OID C.
  3. Если возможно, опыт входа конечного пользователя не должен меняться.
  4. Требуется сертифицированная библиотека OpenID Connect, поэтому я хотел проверить ova c -provider для Nodejs.

(Я провел несколько экспериментов с PHP и https://github.com/steverhoades/oauth2-openid-connect-server, но это привело к некоторым проблемам с неявным потоком и новым приложением.)

Изменение устаревшего приложения на другой клиент на oid c -provider потребует внесения изменений в это приложение, и я снова столкнусь с проблемой несертифицированной библиотеки для PHP.

. проверить, как существующий сеанс PHP может предоставить информацию для входа в узел / oid c -провайдера. Таким образом, пользователь будет входить в старое приложение, а при необходимости перейти к новому стороннему приложению ссылка будет указывать на страницу узла, которая будет проверять вход в систему, а затем перенаправлять на новое приложение.

Я смог прочитать сессию PHP от oid c -provider, но, будучи абсолютным новичком ie для Node, я не нашел, как проверить логин для oid c -provider ( аналогично этому вопросу ).

Что проще: проверить, является ли логин действительным в сеансе PHP, или проверить его из базы данных (для этого потребуются некоторые изменения в фактические страницы входа в систему)?

Как я могу сообщить провайдеру oid c, когда вход уже выполнен в устаревшем приложении? Опять же, я не мог понять, как использовать setProviderSession, если бы это дало решение этой проблемы.

...