oauth2-server-php-docs 概念
Posted C# java C++ 开源通信
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oauth2-server-php-docs 概念相关的知识,希望对你有一定的参考价值。
php的OAuth2服务器库
将OAuth2.0干净地安装到您的PHP应用程序中。 从GitHub 下载代码开始。
要求
这个库需要PHP 5.3.9+。然而,有一个稳定的版本和开发分支的PHP 5.2.x-5.3.8为好。
安装
这个库遵循zend PSR-0标准。有一些自动加载器可以自动加载这个库,但是如果你不使用它,你可以注册OAuth2\Autoloader
:
require_once(‘/path/to/oauth2-server-php/src/OAuth2/Autoloader.php‘);
OAuth2\Autoloader::register();
使用Composer?执行以下命令:
composer.phar require bshaffer/oauth2-server-php "^1.10"
这会将需求添加到composer.json并安装库。
强烈建议您查看
v1.10.0
标签以确保您的应用程序不会因为向后兼容性问题而中断。但是,如果您想保持开发的最前沿,您可以将其设置为dev-master
。
开始使用这个库
看菜谱的例子是最好的入门方法。对于那些仅仅浏览代码示例文档的人来说,下面是一个简单的OAuth2服务器实现的例子:
$storage = new OAuth2\Storage\Pdo(array(‘dsn‘ => $dsn, ‘username‘ => $username, ‘password‘ => $password));
$server = new OAuth2\Server($storage);
$server->addGrantType(new OAuth2\GrantType\AuthorizationCode($storage)); // or any grant type you like!
$server->handleTokenRequest(OAuth2\Request::createFromGlobals())->send();
有关这个库如何工作的更多信息,请参阅主要概念。
学习OAuth2.0标准
-
此外,花点时间点击OAuth2演示应用程序, 并查看使用各种授权类型的示例 的源代码。
-
最后,请查阅OAuth2.0官方文档,了解不合理的技术规范。
主要概念
要更好地了解OAuth规范,请参阅 学习OAuth标准。
图书馆涉及几个主要概念:
Grant Types
授予类型允许您展示客户端接收令牌的多种方式。
Controllers
OAuth服务器有3个端点,每个端点都可以由控制器进行配置。每个端点都在OAuth进程中执行不同的功能。
- 授权端点 - 用户在这里由客户端重定向来授权请求
- 令牌端点 - 客户端向该端点发出请求以获得访问令牌
- 资源端点 - 客户端请求资源,为认证令牌提供访问令牌。该库支持许多不同的授权类型,包括由官方OAuth规范定义的所有授权类型。
Storage Objects
该库使用存储接口来允许与多个数据层进行交互。以下存储类随库提供,但接口允许您自定义:
Other Concepts
授予类型
OAuth2规范中有许多支持的授权类型,并且该库允许添加自定义授权类型。支持的授权类型如下:
授权码
该Authorization Code
补助类型是最常见的OAuth2.0的流动。它实现3腿OAuth并涉及授予客户一个授权码,用户可以交换访问令牌的用户。点击现场演示查看这个授权类型的实际操作。
资源所有者密码凭证
资源所有者的用户名和密码作为请求的一部分提交,并且在成功认证时发出令牌。
$ curl -u testclient:testpass "http://localhost/token.php" -d ‘grant_type=password&username=someuser&password=somepassword‘
{"access_token