祺石用户管理与中央认证系统(QS-UMS)

账号绑定登录

QS-UMS认证系统根据集成应用访问地址判断来源请求是否合法,因此进行接口调用前需确保自身访问地址与应用添加时填写的访问地址一致,不然会出现用户不在范围内的错误。

认证系统与集成应用之间使用RSA两种标准进行加密通信,一种是PKCS1格式的密钥,另一种是PKCS8格式密钥,请根据自身应用服务编程语言选择合适的加密标准。

用户在集成应用系统登录之后,集成应用通过该方法传递用户账号到认证系统,从而实现用户在QS-UMS的登录。

接口调用请求示例:

$.ajax({
    async: false,
    url: "http://authapi.yeework.cn/SSOService.asmx/PostLoginUser",
    dataType: "jsonp",
    jsonpCallback: "callback", //默认callback 
    data:{client_id:YOUR_APPID,client_secret:YOUR_APPPASSWORD,uname:LOGINNAME},
    success: function (data) {
    },
    error: function (xhr) {
    }
});

请求参数说明:

参数

是否必填

参数说明

client_id

添加集成应用时的AppKey

client_secret

添加集成应用时的AppPassword

uname

在集成应用中登录的用户账号

返回结果说明:

{
         "status": "0",
         "desc": "非法业务请求"
}

或者

{
         "status": "1",
         "desc": "登录成功",
         "obj": {
                   "UserID": 17,
                   "LoginName": "portal",
                   "LastLoginTime": "2017/4/5 14:21:52",
                   "LastLoginIP": "10.***.***.102",
                   "LoginCount": "10",
                   "LoginTime": "2018/4/5 14:21:52",
                   "LoginIP": "192.***.***.102",
                   "Email": "131*****52@qq.com",
                   "Phone": "158****1271",
                   "UserName": "门户专用用户",
                   "Address": "",
                   "Sex": "保密",
                   "IsAdminPower": true,
                   "HeadImage": "file/user/2018/7/24/131768984804069454.jpg",
                   "RoleName": "测试人员,管理员”
         }
}

当集成应用开启双向认证后,返回数据为:

{
         “status”: “1”,
         “desc”: “登录成功”,
         “obj”: “DES加密后内容”,
         “secret”: “RSA公钥加密后的DES解密密钥”
}

此时用户信息被认证系统使用DES方法加密存放在obj字段中,DES解密密钥被认证系统使用RSA公钥加密存放在secret中,集成应用需使用RSA私钥解密secret得到DES解密密钥Dkey(Dkey既为解密密钥,也是设置的偏移量),然后再拿着该密钥解密obj即可得到用户基本信息。

返回参数说明:

返回值

字段类型

说明

status

string

请求结果,0:表示失败,1:表示成功

desc

string

请求结果描述

obj

对象/string

用户对象

UserID

int

用户编号

LoginName

string

用户账号

LastLoginTime

string

用户上次登录时间

LastLoginIP

string

用户上次登录IP

LoginCount

string

登录次数

LoginTime

string

登录时间

LoginIP

string

登录IP

Email

string

邮箱

Phone

string

手机号

UserName

string

用户姓名

Address

string

地址

Sex

string

性别

IsAdminPower

string

是否具备管理员权限,true:是,false:否

HeadImage

string

头像

RoleName

string

用户角色信息,返回该用户所有角色信息,使用英文逗号隔开