Download the PHP package xskit/passport-client without Composer
On this page you can find all versions of the php package xskit/passport-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download xskit/passport-client
More information about xskit/passport-client
Files in xskit/passport-client
Package passport-client
Short Description An authorized client based on the laravel passport
License MIT
Informations about the package passport-client
passport-client
基于Laravel passport 的授权API访问的 Http客户端包装器
功能:
- 简单的获取服务授权的凭证和 API请求
- 支持自定义处理返回的数据的响应
- 自定义 SDK 的请求的包装,需要实现
XsKit\Contracts\ApiContract
接口 - 支持 同步 或 异步 请求 API服务,可根据 accessToken 访问授权的 api (推荐使用RESTFull 风格的接口)
安装
引入
Laravel
安装后使用 Laravel 自动发现,包将自动注册自己。
发布配置文件
Lumen
对于Lumen的使用,服务提供者应该手动注册,bootstrap/app.php
如下面所示:
手动复制配置文件 passport_clinet.php
到 config 目录下。
只有一个服务端时,使用
.env
配置就可以了,要是有多个,需要config/passport_client.php
配置目录,添加 其它 驱动配置
引入PassportClient 实例
有两种方式:
- 首先通过容器依赖注入
\XsKit\PassportClient\Client
- PassportClient Facade 静态调用的方式使用
大部分请求都返回 实现了 \XsKit\PassportClient\ContractsHttpResponseContract
的实例
使用 Facade 的说明
- 访问驱动,使用默认驱动时,可以不调用该方法
获取授权令牌
-
获取授权码访问授权令牌
-
机器授权令牌
- 获取密码授权令牌
一、快速请求
- query() 方法参数说明
这里有一些关于 base_uri 的快速例子:
base_uri | query(URI) | 结果 |
---|---|---|
http://foo.com | /bar | http://foo.com/bar |
http://foo.com/foo | /bar | http://foo.com/bar |
http://foo.com/foo | bar | http://foo.com/bar |
http://foo.com/foo/ | bar | http://foo.com/foo/bar |
http://foo.com | http://baz.com | http://baz.com |
http://foo.com/?bar | bar | http://foo.com/bar |
二、API 的封装
- 创建自己的业务api
例如 创建 RestFULL风格的个人信息 SDK
一、 创建一个 实现 XsKit\Contracts\ApiContract
的类,比如这样:
三、 使用 PSR-7 Request GuzzleHttp\Psr7\Request
请求响应说明
\XsKit\PassportClient\Http\HttpResponse
实现了 \XsKit\PassportClient\ContractsHttpResponseContract
// 获取响应数据 $response->getData();
如果接收到的数据是 可转换为 array 类型时,可以使用以下方法
-
可以通过 PSR-7 Response 实例,获取 Http 请求信息,比如获取请求状态码
-
服务端返回数据为 json 字符串时, 数据的默认键名 code、 message 和 data 时,获取对应方法为 getCode() , getMessage() 和 getData() 或 toArray() 的值,如下:
- 自定义解析服务端返回数据配置:
response_handle
配置项为一个现实XsKit\PassportClient\Contracts\ResponseHandleContract
接口的响应数据的处理类,对响应数据的控制,如下:
例如,写一个这样的自定义响应数据处理类,做为 response_handle
默认配置项的替换:
All versions of passport-client with dependencies
ext-json Version *
guzzlehttp/guzzle Version ~6.0
illuminate/support Version ~5.5
illuminate/contracts Version ~5.5
illuminate/http Version ~5.5