1、服务市场购买服务后,从我的服务里点击使用
2、系统会跳到授权页面
3、输入用户密码后
点击授权
系统会调整到如下url:http://app.***.com/jdcallback.htm?code=mB6EiN&state=eyJqb3NfcGFyYW1ldGVycyI6eyJhcHBfa2V5Ijoi
OTcxNTVGQkIwQUQxQjM1OTdDMzNBQ0IxMDVFRDk5Q0IiLCJlbmRfZGF0ZSI6MTM3NzQ0NjQwMDAwMCwiaXRlbV9jb2
RlIjoiRldfR09PRFMtNjAxLTMiLCJ1c2VyX25hbWUiOiJqZF9wb3BfYXNzaXN0YW50IiwidmVyc2lvbl9ubyI6M319
其中 http://app.***.com/jdcallback.htm 为服务对应app的回调地址
参数 :code 为 code模式授权时的code ,isv的软件需要 通过此code 换取token
参数 :state state中如果有“+”号,因浏览器交互的原因,会出现“+”号替换成空格的现象,导致授权报错
如果出现此种情况,请把的state 中的空格再替换成“+”号
state后面的是经过base64编码,反编码后如下内容
{ |
其中 item_code为 购买的收费项目编码,user_name为购买人,end_date 为到期时间,version_no是 购买的版本号
使用者 可以通过收费项目编码或者版本号来指定自己软件对应的服务。
此外,可以通过 接口 进行 验证参数的正确性
4、对接服务市场软件更改注意的问题
1)如果app没有发布到服务市场,授权时长为24小时
2)软件必须用code方式授权
3)如果发布到服务市场,按照市场订购,授权时长为订购时长,没有订购的则不能授权
4)使用跳转到回调地址时返回的是code,而不是token,因为直接返回token是不安全的,需要软件根据此code换取token
5)参数 state是 base64编码的,需要base64解码