C端授权scope目前开放的scope有 :
1)scope.userInfo (获取用户信息);
2)scope.addressList (获取收货地址,需先在C端应用管理里申请 收货地址 权限包);
3)scope.getPhoneNumber (获取手机号码,需先在C端应用管理里申请 获取用户手机号码 权限包)。
完成授权后,将会产生用户的accessToken存储在客户端中,在端上使用云调用的时候,会将accessToken放入请求上下文中传递到服务端。获取方式参考云开发系统参数、或者云应用系统参数部分。
my.authorize({
scopes: 'scope.userInfo',
success: (res) => {
//do something
},
fail: (res) => {
//do something
}
})
获取B端授权,必须要创建商家端应用,不允许使用消费者端应用调B端授权。
B端授权scope目前开放的scope请参考文档 点击查看:
1)若出现授权失败或者授权后调用TOP接口依旧报session无效的错误,请先使用my.qn.cleanToken 清除授权token后再调用授权接口;
2)通过一次用户授权,得到订单、商品等全量的获取的能力。scopes传入参数为"*",触发全量授权的接口。(千牛7.11.60N以上版本支持)。
my.authorize({
scopes: '*',
success: (res) => {
//do something
},
fail: (res) => {
//do something
}
})
特别注意:小程序的授权有分端的逻辑,安卓端授权和ios端授权是不一致的。如果千牛安卓端的授权过期,则相应的C端应用安卓系统下也无法正常调用。
请参考云开发模式下调TOP接口服务端调用示例章节,使用autoSession来控制。
该模式下不支持在C端小程序侧调用需要商家授权的接口,只能在云应用中通过服务端发起。
需要将千牛端授权获取到的商家端的session存储到后端服务中,作为调用top接口的参数。