【问题标题】:Set WordPress as SAML IDP with SimpleSaml.php使用 SimpleSaml.php 将 WordPress 设置为 SAML IDP
【发布时间】:2022-01-03 20:29:03
【问题描述】:

我想将我的 WordPress 网站设置为 SAML IDP,以便使用 WP 凭据连接到另一个网站。 我知道有一个来自迷你橙色的插件日志,但我想将其设置为我自己。 所以,我已经在我的机器上安装了 SimpleSAML.php,但我不知道选择什么作为身份验证源。 我尝试通过 sql 但我不知道如何创建 SQL 查询,因为密码在 WP DB 中受到保护。 我想知道是否有一种方法可以调用自定义 WP API 来检查凭据是否良好...

我对此有点迷茫,所以如果有人对此有想法,我会接受它!

提前致谢

【问题讨论】:

  • 好的,我更了解它在 PHP 中的工作原理,但现在我想知道如何将其实现为 SimpleSaml.php Auth Source ?
  • 您有几个选择。我将完全忽略 SimpleSAML 部分,因为我希望你已经把那部分记下来了。在您的代码中,您可以启动 WordPress 的精简副本并检查密码,或者您可以复制该代码,减去过滤器的内容,然后在本机使用它。后者假定您在身份验证路径中没有插件。另一种选择是写你自己的API endpoint,但我会小心保护你的应用程序,以免泄露。
  • 嗯,实际上,我已经在考虑 API 端点了,因为我知道如何创建它。事实是我不知道 SimpleSAML 身份验证源中放了什么。有什么想法吗?
  • 大约 5 年前我遇到过类似的情况,我需要在 WordPress 网站上做一些 SAML/IDP 工作。我花了很多时间尝试设置和集成 SimpleSAML,最后放弃了。幸运的是,我的用例相对简单,我能够将集成视为具有特定 HTTP 端点的自定义应用程序,并手动创建和响应 HTTP 请求。我也使用了xmlseclibs 的部分内容。所以不幸的是,我在这里帮不上什么忙。

标签: php wordpress single-sign-on saml simplesamlphp


【解决方案1】:

确实,Wordpress 使用自定义散列算法,因此无法直接使用 SQLauth,

你可以做两件事:

  1. 在 Wordpress 中创建用于检查用户名和密码的 API 端点,然后创建您自己的身份验证源模块来检查它。这并不难,这里有一些文档,您可以查看要从中复制的 exampleauth 模块。您需要添加的是您自己模块中正确位置的 API 调用。
  2. 直接从数据库中读取。然后,您需要修改/复制 sqlauth 模块,以便在检查密码之前使用 Wordpress 的哈希算法对密码进行编码。

【讨论】:

    猜你喜欢
    • 2021-06-10
    • 2015-09-24
    • 2018-11-12
    • 2013-04-06
    • 2021-11-26
    • 2019-02-17
    • 2021-10-16
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多