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及更高版本