如何连接react-admin中的authProvider来使用SAML?

问题描述

我已经尝试遵循password-saml网站上的示例代码,以及react-admin网站上的OAuth高级教程,但是无法弄清楚我需要如何使用authProvider来获取使用SAML在react-admin中可用的经过身份验证的会话。

我目前可以通过OneLogin登录我的应用程序(单击面板中的应用程序)并写出用户信息(在passport.serializeUser函数内部),所以我知道那条代码正在工作,但是我不确定如何将这些信息传递给authProvider。

提交表单时,会在authProvider上登录功能被击中,因此,如果我可以复制单击该应用程序时OneLogin发送的内容,则可以在authProvider.login中进行该调用并创建一个自定义登录页面,加载时提交而不是等待提交,但这似乎不是故意的。

在这里缺少什么,还有我没有考虑的更好的选择吗?

解决方法

我最终在服务器上编写了一个getUser函数,并使用authProvider.login函数访问该端点,从响应中解析出用户数据,并将其存储在localStorage中。然后注销将用户从localStorage中删除,而checkAuth只是从localStorage中获取用户。

这目前正出于我的目的,尽管最终我将希望使用户过期。希望这可以帮助其他尝试通过React-admin连接OneLogin的人。