使用 OpenID 的 Joomla 2.5 自定义身份验证插件
Posted
技术标签:
【中文标题】使用 OpenID 的 Joomla 2.5 自定义身份验证插件【英文标题】:Joomla 2.5 custom authentication plugin using OpenID 【发布时间】:2013-06-21 17:57:57 【问题描述】:多年来,我一直在尝试使用 OpenID for Joomla 2.5 创建自定义身份验证插件。我第一次使用这个扩展:http://extensions.joomla.org/extensions/access-a-security/site-access/authentication-cloud-based/5366。它有一个 CAS 插件,但没有 OpenID 插件。我尝试使用 CAS 登录插件格式进行 OpenID,但我的 joomla/php/openid/cas 知识水平不够,无法正常工作。
我也尝试过使用一些可用的库,例如 lightopenid。它适用于基于 php 的定制网站,但我尝试将其应用于 Joomla 2.5,但没有成功。
下一个替代方法是使用 Janrain 的 OpenID(实际上是在 Joomla 1.5 中使用的)。我正在将代码从 Joomla 1.5 调整到 2.5。
是否有人能够使用 OpenID for Joomla 2.5 成功开发自定义身份验证插件?您会推荐以上哪种方法?我不想使用 3rd 方应用程序,例如社交登录和社交分享(目前可以使用),而是将其内置到普通的 Joomla 登录模块中。
希望能够在开发这样的插件时得到一些帮助。
【问题讨论】:
以下是有关如何删除 OpenId 及其存在的问题的一些背景:groups.google.com/forum/#!topic/joomlabugsquad/re_7yUYp4zI 感谢您的链接!没想到实现OpenID这么难…… 【参考方案1】:Joomla! 1.5有一个默认安装的插件,允许用户使用开放ID登录。在 Joomla! 2.5 这个插件没有安装。
如果您想使用 OpenID 身份验证并且想要免费的扩展程序,您可以从这里下载:http://socialjoom.net.ru/component/option,com_jdownloads/Itemid,75/cid,46/task,view.download/。
您还可以简单地安装社交登录扩展: http://extensions.joomla.org/extensions/access-a-security/site-access/authentication-cloud-based/20465 。这是商业的......
所有扩展都在这里:http://extensions.joomla.org/extensions/access-a-security/site-access/authentication-cloud-based
PS:我没有测试过这些扩展。
希望对你有帮助。
【讨论】:
感谢您的回复!我已经尝试了这些扩展,它们允许我通过 OpenID 成功登录。但是,它显示为一个图标,用户必须单击该图标,然后输入完整的 OpenID URL。我希望在 joomla 中内置一个表单,用户只需输入他们的 ID(并将其附加到 OpenID 服务器 URL 的后面)。在阅读了关于为什么 OpenID 在 v1.5 之后被删除的一些背景知识之后,它看起来确实很难实现。我会继续努力,也许有一天会在 Joomla 的扩展网站上发布一个 OpenID 扩展...... 如果您有任何其他问题,请随时与我联系! 好的! @李赫。是的,您必须有 15rept 才能被允许 +1,但您可以设置为正确答案。检查这个:meta.stackexchange.com/a/5235/226739如果您有任何其他问题,请随时与我联系,我很乐意帮助您进行 OpenID 集成!【参考方案2】:使用外部身份验证系统(登录页面)而不是 joomla 登录页面/模块的目的是确保访问是安全的,并且可以留下会话 cookie 以允许单点登录在通过此外部身份验证器登录的网络/应用程序的内部环境中,因此从身份验证系统导航到登录页面是一种标准。 如果您想使用 API OIDC 调用使您的 joomla 登录与身份验证器一起使用,在这种情况下,您的凭据会面临风险/黑客攻击,并且您无法在应用程序之间获得 SSO。
【讨论】:
以上是关于使用 OpenID 的 Joomla 2.5 自定义身份验证插件的主要内容,如果未能解决你的问题,请参考以下文章