softcomtecnologia / oauth2-server-httpfoundation-bridge
oauth2-server-php 对 HttpFoundation 的桥梁
Requires
- php: >=5.3.0
- softcomtecnologia/oauth2-server-php: v1.11.*
- symfony/http-foundation: >=2.1
This package is not auto-updated.
Last update: 2024-09-28 16:57:02 UTC
README
oauth2-server-php 对 HttpFoundation 的桥梁,用于HttpFoundation和oauth2-server-php。
oauth2-server-httpfoundation-bridge
是oauth2-server-php的包装器,它返回Symfony\Component\HttpFoundation\Response
而不是OAuth2\Response
,并使用Symfony\Component\HttpFoundation\Request
代替OAuth2\Request
。
如果您正在将OAuth2集成到Silex、Symfony或Laravel 4应用程序(或使用HttpFoundation
的任何应用程序),这将使您的应用程序更加整洁
安装
Composer是安装此库的最佳方式。将以下行添加到composer.json中
{
"require": {
"softcomtecnologia/oauth2-server-php": "v1.11.*",
...
},
...
}
然后运行composer.phar install
尽可能与oauth2-server-php库匹配标签。
v1.1
是最新标签。
创建请求
创建请求对象与之前相同,但现在您使用的是OAuth2\HttpFoundationBridge\Request
类
$request = OAuth2\HttpFoundationBridge\Request::createFromGlobals(); $app->run($request);
请求对象现在与HttpFoundation和oauth2-server-php都兼容
// getBaseUrl is unique to HttpFoundation $baseUrl = $request->getBaseUrl(); // call oauth server $server->grantAccessToken($request);
如果HttpFoundation请求已经存在,您可以使用静态函数createFromRequest
来构建OAuth2\HttpFoundationBridge\Request实例
use OAuth2\HttpFoundationBridge\Request as BridgeRequest; // in your controller layer, the $request object is passed in public function execute(Request $request) { //... (instantiate server/response objects) $bridgeRequest = BridgeRequest::createFromRequest($request); $server->grantAccessToken($bridgeRequest, $response); }
创建响应
OAuth2\HttpFoundationBridge\Response
对象扩展了Symfony\Component\HttpFoundation\JsonResponse
,并实现了OAuth2\ResponseInterface
,允许您将其传递并从控制器中返回。在Symfony和Silex中,这将集成服务器所需的所有内容
use OAuth2\HttpFoundationBridge\Response as BridgeResponse; // in your controller layer, the $request object is passed in public function execute(Request $request) { //... (instantiate server/response objects) $response = new BridgeResponse(); return $server->handleTokenRequest($request, $response); }
注意:此对象将返回JSON。使用
OAuth2\ResponseInterface
实现自己的类以支持不同的内容类型。
示例
联系
有关更多信息,请联系Brent Shaffer(bshafs gmail com)