opauth / opauth
PHP 多提供者身份验证框架
Requires
- php: >=5.3.0
Suggests
- opauth/facebook: Allows Facebook authentication
- opauth/google: Allows Google authentication
- opauth/twitter: Allows Twitter authentication
This package is auto-updated.
Last update: 2024-09-13 10:18:14 UTC
README
Opauth 是一个 PHP 多提供者身份验证框架,灵感来源于 OmniAuth for Ruby。
Opauth 使 PHP 应用程序能够轻松进行用户身份验证。
在 http://opauth.org 尝试 Opauth
什么是 Opauth?
Opauth 为 PHP 应用程序提供了一种标准化的方法来与身份验证提供者进行接口。
作为一个框架,Opauth 提供了一组 API,允许开发者创建在 PHP 框架和应用程序中按预期工作的 策略。
Opauth 与其他 PHP 应用程序和框架配合良好。目前支持以下内容
- vanilla (plain) PHP 应用程序
- CakePHP (由 uzyn 维护)
- CodeIgniter (由 destinomultimedia 维护)
- CodeIgniter (由 mcatm 维护)
- FuelPHP (由 andreoav 维护)
- Laravel (由 FakeHeal 维护)
- PrestaShop (由 Onasusweb 维护)
- Silex (由 icehero 维护)
- SilverStripe (由 Better Brief 维护)
- Zend Framework 2 (由 lorenzoferrarajr 维护)
- 还有更多。
如果你的 PHP 框架还没有列出,你仍然可以像使用正常的 PHP 组件(类)一样使用 Opauth。
快速入门
如何运行捆绑示例的指南。
-
将你的 Web 服务器的
DocumentRoot
设置为example/
。(Opauth 可以在你的 PHP 应用程序中实例化,但我们将在此快速入门指南中省略这一点) -
配置 Opauth。
首先,通过复制或重命名
opauth.conf.php.default
到opauth.conf.php
来复制 opauth 配置文件。打开
opauth.conf.php
并进行必要的更改。 -
安装一些 Opauth 策略。将策略文件放置在
lib/Opauth/Strategy/
中。对于此示例,我们建议您从 Opauth-Facebook 开始。
i. 下载策略文件并将它们放置在
lib/Opauth/Strategy/Facebook/
。ii. 按照以下步骤在Opauth-Facebook的README中进行操作以设置您的Facebook应用。
iii. 在
opauth.conf.php
下的Strategy
中添加以下内容
<?php 'Strategy' => array( // Define strategies here. 'Facebook' => array( 'app_id' => 'YOUR APP ID', 'app_secret' => 'YOUR APP SECRET' ), );
最后,将用户发送到http://localhost/facebook
进行身份验证。
有关更详细的信息,特别是如何将Opauth与您的PHP应用程序结合使用,请查看Wiki。
可用策略
策略是一组指令,它与相应的身份验证提供者接口,并将它们回传到Opauth。
特定提供者
通用策略:OAuth
请参阅策略列表以获取Opauth策略的最新列表或进行请求。如果您想贡献一个策略,请参阅策略贡献指南。
要求
PHP 5 (>= 5.2) 且启用了allow_url_fopen
贡献
Opauth需要您的贡献,特别是以下内容
-
更多策略 请参阅Wiki以获取贡献指南,并在您的工作准备好时通知我们。
-
更多PHP框架和CMS的插件,例如Symfony、Laravel、WordPress、Drupal等。
-
指南和教程 如何在CakePHP应用程序上实现Opauth等。
问题与疑问
- 讨论组:Google Groups 支持的主要渠道,特别是使用问题。
- 问题:Github Issues
- Twitter:@uzyn
- 给我发邮件:[email protected]
- IRC:#opauth在Freenode
在您的项目中使用了Opauth?让我们知道!
变更日志
####v0.4.5 (25 Feb 2018)
- 修复了不安全的序列化/反序列化安全问题。(感谢 @YuzuruS #124)
####v0.4.4 (10 May 2013)
- 添加了HTTP User-Agent头部。(感谢 @rkaldung #41)
####v0.4.3 (10 January 2013)
- 修复了
serverPost()
中的错误,其中用户提供的选项未正确应用。(感谢 @ritou #26)
####v0.4.2 (28 August 2012)
- 修复了会话问题,现在检查
session_id()
而不是$_SESSION
(感谢 @sirikkoster #20)
####v0.4.1 (22 July 2012)
- 如果会话已经开始,则不启动会话。(感谢 @Claymm)
- 修复了错误信息不正确的问题。(感谢 @Claymm)
- 移除了
@
符号用于file_get_contents
。(感谢 @Takehiro-Adachi)
####v0.4.0 (10 June 2012)
- OpauthStrategy类中的
mapProfile()
和clientGet()
。
####v0.3.0 (30 May 2012)
- 一些单元测试
- 策略内部属性的命名更一致
- 更智能地加载策略,能够对类文件可能的位置做出一些猜测。
####v0.2.0 (23 May 2012)
- Opauth现在是Composer兼容的,并在Packagist上列出。
- Opauth现在支持自动加载器
- 如果策略没有自动加载,Opauth将回退并搜索配置中定义的
strategy_dir
。
- 策略Foo的类名现在应该是FooStrategy而不是Foo。
- 这是为了减少由于Opauth不需要使用命名空间而导致类名冲突的可能性。
- 类似v0.1.0-type的类名,即Foo,仍然可以使用,但现在已弃用。
####v0.1.0 (2012年5月22日)
- 初始版本
许可
MIT许可证 版权所有 © 2012-2013 U-Zyn Chua (http://uzyn.com)
咨询
U-Zyn Chua是Zynesis咨询的首席顾问。