haierCenter
概述
haierCenter 封装了海尔用户中心SDK的OAuth2.0登录功能。
使用此模块之前需先在 config.xml文件配置基础环境属性,方法如下
配置方法:
- 名称:haierCenter
- 参数:client_id
- 参数:client_secret
- 参数:oauthURL
- 参数:baseURL
- 参数:uhomeAppId
- 参数:uhomeType
- 参数:uhomeClientId
参数:uhomeSign
配置示例:
<feature name="haierCenter">
<param name="client_id" value="sdk" />
<param name="client_secret" value="secret" />
<param name="oauthURL" value="http://taccount.haier.com" />
<param name="baseURL" value="http://taccount.haier.com" />
<param name="uhomeAppId" value="MB-RSQCSAPP-0000" />
<param name="uhomeType" value="type_uhome_common_token" />
<param name="uhomeClientId" value="123456" />
<param name="uhomeSign" value="76dfe3686b3251a223e458db5445711447e967b48504f87c09c4b12dbee21943" />
</feature>
字段描述:
client_id:是用户中心授权之后分配
client_secret:是用户中心授权之后分配的
oauthURL:跳转授权界面的domain 正式环境为 http://account.haier.com 测试环境为 http://taccount.haier.com
baseURL:基础api URL 正式环境为 http://account-api.haier.net 测试环境为 http://taccount.haier.com
uhomeAppId:uhome分配的appId
uhomeType:目前为固定值 ‘type_uhome_common_token’
uhomeClientId:uhome分配的clientId
uhomeSign:uhome自己的签名规则,具体参考uhome算法
iOS端http请求配置
iOS端需要配置ATS(App Transport Security),具体配置方法参考[APP开发技巧] 【官方】iOS修改Info.plist 中“三.3. 配置ATS(App Transport Security)”
iOS端配置URL Scheme,设置SSO的白名单
- 名称:haierCenter
- 参数:urlScheme、querySchemes
- 配置示例:
<preference name="querySchemes" value="SSO ProviderApp Scheme"/>
<feature name="haierCenter">
<param name="urlScheme" value="haierceshi"/>
</feature>
字段描述:
urlScheme:(必须配置)使用OAuth2授权方式,需要跳转到认证服务器来获取授权码,之后再跳转回你的APP,所以需要设置Scheme。scheme格式必须限定为:haier+’自定义名称’。如认证服务器是其他APP,则需添加其他APP的Scheme进入白名单。
querySchemes:(没有则不配置)应用跳转白名单,value 值传需要跳转APP的Scheme。
init
初始化
init()
示例代码
//初始化的操作;
function init(){
var demo = api.require('haierCenter');
demo.init();
}
可用性
Android系统
authorization
OAuth2.0登录。
authorization({params}, callback(ret, err))
params
theme:(仅Ios需要)
- 类型:字符串
- 描述:自定义颜色。自定义颜色不得包含
#
,请直接输入16进制
颜色:例如111111
- 默认:无
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:(字段没有则不返回)
{
accessToken : '', //字符串类型;这是用户中心的设备级别的 accessToken
expires : //数字类型;这是过期时间,服务端产生的
tokenType : '', //字符串类型;服务端产生的,token的鉴权类型
scope : '', //数组类型;服务端产生的,资源访问权限控制相关的
creatTime : '', //数字类型;token生成日期(仅IOS拥有)
uhomeAccessToken : '', //字符串类型;云平台的accessToken,用此token去云平台鉴权
refreshToken : '', //字符串类型;这是用户中心用来刷新accessToken过期的refreshToken,可以用这个refreshToken刷新的用户中心设备级别的accessToken与云平台的参数
uhomeUserId : '', //字符串类型;云平台的用户userId
}
err:
- 类型:JSON对象
- 内部字段:(字段没有则不返回)
{
error : '', //字符串类型;错误
errorMessage : //字符串类型;错误描述 captcha_token : '', //字符串类型;图形验证码接口的token captcha_image : '', //字符串类型;图形验证码的bas64字符串,需要自己decode出图片,如果用到相关接口
destPath : '', //字符串类型;图形验证码图片路径
cancel : 'Y', //字符串类型;在登录界面不进行登录点击返回,则返回此字段,值为'Y',否则不返回(仅iOS拥有)
}
示例代码
var haierCenter = api.require('haierCenter');
haierCenter.authorization({
//仅IOS需要;
theme: 'ff0000'
},function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearCache
清除缓存的图形验证码图片。
clearCache()
示例代码
var haierCenter = api.require('haierCenter');
haierCenter.clearCache();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本