我可以通过Nodejs oidc-provider对OIDC使用PHP应用程序用户身份验证吗?

时间:2020-02-04 14:01:57

标签: php node.js openid-connect openid-provider oidc-provider

有一个遗留的PHP Web应用程序,它具有活动的用户数据库(Mysql / Mariadb),并且PHP当前负责用户登录。我需要通过某些SSO解决方案将此应用连接到新的第三方应用。新的供应商支持OpenID Connect(OIDC)和ADFS。目前正在检查OIDC。

先决条件是:

  1. 新应用将是客户端。
  2. OIDC需要隐式流。
  3. 如果可能的话,最终用户的登录体验应保持不变。
  4. 需要一个经过认证的OpenID Connect库,因此我想检查一下panva的oidc-provider for Nodejs。

(我使用PHP和https://github.com/steverhoades/oauth2-openid-connect-server进行了一些实验,但是最终导致了隐式流程和新应用程序的某些问题。)

将旧版应用程序更改为oidc-provider的另一个客户端将需要对该应用程序进行修改,而我将再次面临PHP的非认证库的问题。

因此,我最终研究了现有的PHP会话如何将登录信息提供给node / oidc-provider。这样,用户可以登录旧应用程序,并在需要浏览至新的第三方应用程序时,将指向“节点”页面的链接,该页面将检查登录名,然后重定向到新应用程序。

我能够从oidc-provider中读取PHP会话,但是作为Node的新手,我没有找到如何检查oidc-provider登录的方法(类似于此question)。 / p>

哪个更容易:检查登录在PHP会话中是否有效,还是从数据库中检查(这需要对实际登录页面进行一些修改)?

如何在旧版应用程序中完成登录时告诉oidc提供者?再说一次,我不能弄清楚如何使用setProviderSession,如果可以解决这个问题。

0 个答案:

没有答案