react-admin - 如何在 react-admin 中连接 authProvider 以使用 SAML?
问题描述
我已经尝试按照 passport-saml 站点上的示例代码以及 react-admin 站点上的 OAuth 高级教程进行操作,但无法弄清楚我需要对 authProvider 做什么才能获得经过身份验证的会话使用 SAML 在 react-admin 中可用。
我目前可以通过 OneLogin 登录我的应用程序(单击面板中的应用程序)并写出用户的信息(在 passport.serializeUser 函数中),所以我知道该部分正在工作,但我不确定如何获取该信息传递给 authProvider。
当您提交表单时,authProvider 上的登录功能会被触发,因此如果我可以复制 OneLogin 在我单击应用程序时发送的内容,我可能会在 authProvider.login 中进行该调用并创建一个在加载时提交的自定义登录页面而不是等待提交,但这似乎不是故意的。
我在这里错过了什么,有没有更好的选择我没有考虑?
解决方案
我最终在服务器上编写了一个 getUser 函数并使用 authProvider.login 函数访问该端点,从响应中解析用户数据,并将其存储在 localStorage 中。然后注销从 localStorage 中删除用户,而 checkAuth 只是从 localStorage 中获取用户。
目前这对我的目的有效,尽管最终我会想要使用户过期。希望这可以帮助其他尝试将 OneLogin 与 React-admin 连接起来的人。
推荐阅读
- chisel - Chisel 3.4.2 syncmem 和一个黑盒子。不使用 --repl-seq-mem 选项替换内存
- systemd-journald - journalctl --after-cursor 不适用于 shell 脚本
- spring - 无法从 [java.lang.String] 转换为 [com.example.demo.User]
- linux - GNU Make 通配符函数和目录名称的终止斜杠
- php - 在自定义 WordPress 函数中渲染 Twig 文件
- javascript - 我应该寻找什么 Javascript / jQuery 事件来检测由 Javascript / jQuery 以编程方式填充的表单字段?
- kubernetes - 什么是 Kubernetes 引擎(RKE、GKE、EKS...)?
- python - Django - 如何制作多个自连接表?
- javascript - 使用查找或包含(赛普拉斯、节点、Javascript)时,来自 API 响应的数组不会解析为数组
- json - 如何使用 PL/SQL 将 JSON 数据解析成列?