advanced-store/oauth2-client

该包已被废弃,不再维护。未建议替代包。

OAuth2-Client,用于简单连接OAuth2-Server(第三方或自用应用程序)

dev-master 2015-10-20 13:47 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:28:38 UTC


README

Creative Commons License
本作品根据Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License许可。

OAuth2 - 客户端

本包可用于连接到OAuth2-服务并获取受OAuth2限制的资源。

1. 安装

通过Composer

更新你的composer.json的"require"部分,添加以下行

    
    "advanced-store/oauth2-client": "dev-master"
    

添加此行后,运行以下命令

    
    composer install
    or
    composer update
    

2. 配置

你需要使用以下命令发布此包的配置文件:

    
    php artisan config:publish advanced-store/oauth2-client
    

配置文件路径为app/config/advanced-store/oauth2-client/config.php

在此处,你需要根据需要添加/修改值。
[client.id] - 应用程序的Client-ID
[client.secret] - 应用程序的Client-Secret
[scopes] - 应用程序的权限范围(以逗号分隔)

修改包配置后,更新app/config/app.php
修改你的提供者和别名部分,使用你喜欢的别名

<code><b>'providers' => array('AdvancedStore\Oauth2Client\Oauth2ClientServiceProvider')</b></code>
<br>
<code><b>'aliases' => array('OAuth2Client'	=> 'AdvancedStore\Oauth2Client\Facades\Oauth2ClientFacade')</b></code>

3. 示例

获取访问令牌

    
    
    OAuth2Client::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 = OAuth2Client::fetch('http://3rd.party.com/api/restriced/resource');
    
    

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