mahfuz05 / laravel-oauth2
此包的最新版本(dev-master)没有提供许可证信息。
dev-master
2015-06-19 09:54 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
This package is not auto-updated.
Last update: 2024-09-28 17:54:36 UTC
README
本作品根据Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License授权。
Laravel OAuth2 - 客户端
此包可用于连接到OAuth2服务并获取受OAuth2限制的资源。这是Laravel OAuth的封装版本https://github.com/adoy/PHP-OAuth2
1. 安装
通过Composer
将以下行添加到您的 composer.json
文件的 "require" 部分
"mahfuz05/laravel-oauth2": "dev-master"
添加此行后,运行以下命令
composer install
or
composer update
2. 配置
您需要使用以下命令发布此包的配置文件
php artisan config:publish mahfuz05/laravel-oauth2
配置文件路径为 app/config/mahfuz05/laravel-oauth2/config.php
在此,您需要添加/修改值以满足您的需求。
[client.id] - 您应用程序的Client-ID
[client.secret] - 您应用程序的Client-Secret
[scopes] - 您应用程序的Scopes(逗号分隔)
修改包配置后,更新 app/config/app.php
修改您的 providers 和 aliases 部分,使用您首选的别名
<code><b>'providers' => 'Mahfuz05\LaravelOauth2\LaravelOauth2ServiceProvider'</b></code>
<br>
<code><b>'aliases' => 'LaravelOauth2' => 'Mahfuz05\LaravelOauth2\Facades\LaravelOauth2'</b></code>
3. 示例
获取访问令牌
LaravelOauth2::fetchAccessToken('http://3rd.party.com/api/access_token', 'password', array(
'username' => $credentials['username'],
'password' => $credentials['password'],
'scope' => Config::get('oauth2-client::scopes'),
));
请求OAuth2受限制的资源/URL
$result = LaravelOauth2::fetch('http://3rd.party.com/api/restriced/resource');
或者您可以这样做
if (!isset($_GET['code']))
{
$auth_url = LaravelOauth2::getAuthenticationUrl($this->url, $this->redirectUri);
header('Location: ' . $auth_url);
die('Redirect');
}
else
{
$params = array('code' => $_GET['code'], 'redirect_uri' => $this->redirectUri);
$response = LaravelOauth2::getAccessToken($this->token_url, 'authorization_code', $params);
//get Access Token and store it
LaravelOauth2::setAccessToken($response['result']['access_token']);
$token = $response['result']['access_token'];
//get all customers
$response = LaravelOauth2::fetch('https://api.debitoor.com/api/v1.0/customers');
}
4. 常量
认证方法
- AUTH_TYPE_URI
- AUTH_TYPE_AUTHORIZATION_BASIC
- AUTH_TYPE_FORM
访问令牌类型
- ACCESS_TOKEN_URI
- ACCESS_TOKEN_BEARER
- ACCESS_TOKEN_OAUTH
- ACCESS_TOKEN_MAC
授权类型
- GRANT_TYPE_AUTH_CODE
- GRANT_TYPE_PASSWORD
- GRANT_TYPE_CLIENT_CREDENTIALS
- GRANT_TYPE_REFRESH_TOKEN
HTTP方法
- HTTP_METHOD_GET
- HTTP_METHOD_POST
- HTTP_METHOD_PUT
- HTTP_METHOD_DELETE
- HTTP_METHOD_HEAD
- HTTP_METHOD_PATCH
HTTP表单内容类型
- HTTP_FORM_CONTENT_TYPE_APPLICATION
- HTTP_FORM_CONTENT_TYPE_MULTIPART