OAuth2授权
http://pre.sovell.com/oauth/v2/authorize
http://pre.sovell.com/oauth/v2/token
http://pre.sovell.com/oauth/v2/check_token
- 测试环境终端信息
client_id=B-8onb81TPCog2YBhSsQaA
client_secret=q1LQuI8C4CI
- 生产环境Oauth2地址
http://pass.sovell.com/oauth/v2/authorize
http://pass.sovell.com/oauth/v2/token
http://pass.sovell.com/oauth/v2/check_token
- 生产环境终端信息根据实际情况配置
短信授权
- 短信授权实际上扩展了code方式的授权过程
-
发送给某个手机
GET http://{domain}/oauth/v2/code?phone=13606526033&title=我的短信 HTTP/1.1 Authorization: Bearer {token}参数名 类型 说明 其他 见 公共请求参数说明 -
发送成功后不返回实际内容,HttpStatus=200即为成功
-
成功后调用/token接口
- 手机收到的授权码作为code参数
- 可参考 文档rfc6749 4.1.3s 文档rfc6749 4.1.3
二维码授权
- 二维码授权实际上扩展了code方式的授权过程
-
取CODE
GET http://{domain}/oauth/v2/code HTTP/1.1 Authorization: Bearer {token} -
调用成功后返回auth_code,将其生成二维码
-
调用/token接口
- 子系统通过二维码解码作为code参数
- 可参考 文档rfc6749 4.1.3s 文档rfc6749 4.1.3
物理卡授权
-
读出物理卡号
-
调用/token接口
- 将
物理卡号以card/${物理卡号}的形式赋值code - grant_type=offline_cert
POST /oauth/v2/token HTTP/1.1 Host: dev.sovell.com Content-Length: 96 Content-Type: application/x-www-form-urlencoded code=card/001&client_id=fzU1cb7ESpuaVRThuBcYcQ&client_secret=abc&grant_type=offline_cert - 将
-
返回token
- 返回roles中会附加card角色
-
st卡状态,lost表示挂失,不输出表示正常
HTTP/1.1 200 OK Server: nginx/1.11.6 Date: Thu, 25 Oct 2018 02:09:13 GMT Content-Type: application/json;charset=utf-8 Content-Length: 254 Connection: keep-alive Cache-Control: no-store Pragma: no-cache { "access_token": "271952ee-a0b6-4360-9edd-e9052bb494d7", "token_type": "bearer", "refresh_token": "7abbd5ba-7704-4ba8-bc63-484997ce0659", "expires_in": 7199, "scope": "pass:payment openid", "sub": "6aeca60613e949f0a16e721faf9f1082", "roles": "root card", "card": "001", "st": "lost" }
交易接口
- 测试环境地址
http://pre.sovell.com/sovellpay/v2
- 生产环境地址
http://pass.sovell.com/sovellpay/v2
-
在http请求头中设置OAuth2授权返回的access_token
Authorization: Bearer ${access_token}
-
详见 交易接口