haierCenter

authorization clearCache

概述

haierCenter 封装了海尔用户中心SDK的OAuth2.0登录功能。

使用此模块之前需先在 config.xml文件配置基础环境属性,方法如下

配置方法:

  • 名称:haierCenter
  • 参数:client_id
  • 参数:client_secret
  • 参数:oauthURL
  • 参数:baseURL
  • 参数:uhomeAppId
  • 参数:uhomeType
  • 参数:uhomeClientId
  • 参数:uhomeSign

  • 配置示例:

  1. <feature name="haierCenter">
  2. <param name="client_id" value="sdk" />
  3. <param name="client_secret" value="secret" />
  4. <param name="oauthURL" value="http://taccount.haier.com" />
  5. <param name="baseURL" value="http://taccount.haier.com" />
  6. <param name="uhomeAppId" value="MB-RSQCSAPP-0000" />
  7. <param name="uhomeType" value="type_uhome_common_token" />
  8. <param name="uhomeClientId" value="123456" />
  9. <param name="uhomeSign" value="76dfe3686b3251a223e458db5445711447e967b48504f87c09c4b12dbee21943" />
  10. </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
  • 配置示例:
  1. <preference name="querySchemes" value="SSO ProviderApp Scheme"/>
  2. <feature name="haierCenter">
  3. <param name="urlScheme" value="haierceshi"/>
  4. </feature>
  • 字段描述:

    urlScheme:(必须配置)使用OAuth2授权方式,需要跳转到认证服务器来获取授权码,之后再跳转回你的APP,所以需要设置Scheme。scheme格式必须限定为:haier+’自定义名称’。如认证服务器是其他APP,则需添加其他APP的Scheme进入白名单。

    querySchemes:(没有则不配置)应用跳转白名单,value 值传需要跳转APP的Scheme。

init

初始化

init()

示例代码

  1. //初始化的操作;
  2. function init(){
  3. var demo = api.require('haierCenter');
  4. demo.init();
  5. }

可用性

Android系统

authorization

OAuth2.0登录。

authorization({params}, callback(ret, err))

params

theme:(仅Ios需要)

  • 类型:字符串
  • 描述:自定义颜色。自定义颜色不得包含 #,请直接输入16进制颜色:例如111111
  • 默认:无

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:(字段没有则不返回)
  1. {
  2. accessToken : '', //字符串类型;这是用户中心的设备级别的 accessToken
  3. expires : //数字类型;这是过期时间,服务端产生的
  4. tokenType : '', //字符串类型;服务端产生的,token的鉴权类型
  5. scope : '', //数组类型;服务端产生的,资源访问权限控制相关的
  6. creatTime : '', //数字类型;token生成日期(仅IOS拥有)
  7. uhomeAccessToken : '', //字符串类型;云平台的accessToken,用此token去云平台鉴权
  8. refreshToken : '', //字符串类型;这是用户中心用来刷新accessToken过期的refreshToken,可以用这个refreshToken刷新的用户中心设备级别的accessToken与云平台的参数
  9. uhomeUserId : '', //字符串类型;云平台的用户userId
  10. }

err:

  • 类型:JSON对象
  • 内部字段:(字段没有则不返回)
  1. {
  2. error : '', //字符串类型;错误
  3. errorMessage : //字符串类型;错误描述 captcha_token : '', //字符串类型;图形验证码接口的token captcha_image : '', //字符串类型;图形验证码的bas64字符串,需要自己decode出图片,如果用到相关接口
  4. destPath : '', //字符串类型;图形验证码图片路径
  5. cancel : 'Y', //字符串类型;在登录界面不进行登录点击返回,则返回此字段,值为'Y',否则不返回(仅iOS拥有)
  6. }

示例代码

  1. var haierCenter = api.require('haierCenter');
  2. haierCenter.authorization({
  3. //仅IOS需要;
  4. theme: 'ff0000'
  5. },function(ret, err) {
  6. if (ret) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearCache

清除缓存的图形验证码图片。

clearCache()

示例代码

  1. var haierCenter = api.require('haierCenter');
  2. haierCenter.clearCache();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本