CodeIgniter 身份验证系统允许 3rd 方身份验证?
Posted
技术标签:
【中文标题】CodeIgniter 身份验证系统允许 3rd 方身份验证?【英文标题】:CodeIgniter Authentication System that allows 3rd party auth? 【发布时间】:2012-12-09 13:59:17 【问题描述】:我的问题很简单。 CodeIgniter 是否有允许本地和第 3 方登录的系统? (如FB/Twitter/Google等)
我已经尝试过A3M,但它很难使用,并且需要进行修补才能开箱即用,就像过时的软件一样。
我目前的解决方案是flexi auth,但它根本不提供第 3 方登录,并且在给开发人员发送电子邮件后,看起来他不打算很快集成它。
那么有没有人知道一个好的系统,它是最新的并提供第三方和本地登录?
如果没有,还有什么其他 php 框架有这样的包?
为清晰而编辑:我正在寻找一个可以同时完成这两项工作的系统。虽然我很欣赏我可以集成自己的系统的答案和 cmets,但其最终结果充其量是不稳定的。以前一定有人做过这件事,所有这些都集成到一个包中,因此可以协同工作。
【问题讨论】:
您在寻找 OpenID 解决方案吗?你看过thinkmoult.com/2009/02/22/…你可以从github.com/EllisLab/CodeIgniter/wiki/OpenID得到CI OpenID库 可以,是的,但我正在寻找的是更接近 OAuth 和 OAuth2 的东西。 a3m 已被分叉到一个清理的分支中:github.com/donjakobo/A3M 看看,现在包括 twitter 引导程序 【参考方案1】:就在一个月前,我也在寻找类似的东西,但没有成功。我见过的唯一一个以简单方式集成所有内容的框架是 meteor,但它不是 PHP 框架。
我必须自己通过在 CI 库中包装不同的 PHP 库来完成。源代码在 github 上:CI Twitter 和 Who You Meet(一个实时网络应用程序),具有 Twitter、LinkedIn 和 Facebook 身份验证以及许多本地身份验证逻辑,包括电子邮件验证和密码恢复。
我知道这可以被认为是无耻的推广,但我希望它有用。虽然它不是您想要的,但它似乎相当稳定,因此请随意重复使用它。
也许您将有时间将所有这些逻辑提取到一个独立的库中(就像我为 twitter 所做的那样)供其他人使用 :)
【讨论】:
感谢您的帮助。我会看一下,可能会将它与 flexi auth 一起使用来创建 3rd 方登录功能。 不客气 :)。任何诸如“这是在哪里”或“为什么会这样”之类的问题(通常原因只是缺乏经验:),请随时提问。【参考方案2】:如果你想要一个 CI OAuth2 实现,你可以使用这个既是客户端又是服务器的库:
https://github.com/alexbilbie/CodeIgniter-OAuth-2.0-Server否则 OpenID 使用这个库:
https://github.com/EllisLab/CodeIgniter/wiki/OpenID【讨论】:
感谢您的回答,但我真的在寻找一个完整的解决方案,而不是我可以附加到我现有的身份验证系统的东西。 @RaptBlue 完整解决方案是什么意思? 已经集成的东西。当然,我可以添加我需要的任何内容,但由于我不是最初的开发人员,如果我是最初的开发人员,我可能无法做到最好。我正在寻找开发人员已经集成的东西,以便它可以正常工作。 没有像 CI 这样的集成库,CI 是一个轻量级的框架,您可以在其中添加您想要的任何库并根据需要对其进行编码。 这样的系统不会知道您当前的身份验证系统是如何设置的,因为它会因应用程序而异。所以没有可靠的方法来设置本地身份验证。开发人员所做的是首先对他们的系统进行编码以使用上述代码。已经编码的东西没有简单的解决方案。以上是关于CodeIgniter 身份验证系统允许 3rd 方身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Angularjs 中使用 3rd 方登录来处理身份验证
如何使用基本身份验证而不是 OAuth 2.0 将 Alexa 用户与 3rd 方应用程序相关联