zhnx-sso v1.0.4
zhnx-sso
SSO使用postMessage实现跨源通信,MessageChannel创建消息通道传递消息;zhnx-sso提供了SSO所需的接口。(注:zhnx-sso只适用于中和农信项目开发,其他项目仅供参考)
一、 安装
npm i zhnx-sso
二、sso使用
zhnx-sso提供了ZhnxSSO类,ZhnxSSO包含静态方法getInstance,实例方法creatIframe、saveRefreshToken、getToken
1、引入zhnx-sso
import ZhnxSSO from 'zhnx-sso'
2、getInstance
可以getInstance获取ZhnxSSO类实例,也可以自己通过new创建实例
let zhnxSso = ZhnxSSO.getInstance()
// 或者
let zhnxSso = new ZhnxSSO()
3、creatIframe
creatIframe方法创建用于页面通信的iframe
zhnxSso.creatIframe(src)
参数
src (String): iframe通信加载的地址
返回值
(Object): 返回加载结果。
zhnxSso.creatIframe(src).then(result => {
console.log(result.data)
}).catch(error => {
console.log(error)
})
4、saveRefreshToken
初次登录refreshToken为空或者失效,需要登录之后保存refreshToken。
zhnxSso.saveRefreshToken(refreshToken)
参数
refreshToken (String): 登录返回的refreshToken
返回值
(Object): 返回保存结果。
zhnxSso.saveRefreshToken(refreshToken).then(result => {
console.log(result.data)
}).catch(error => {
console.log(error)
})
4、getToken
打开系统调用getToken用refreshToken获取新的token
zhnxSso.getToken(systemInfo)
参数
systemInfo (Object): systemInfo对象包含两个属性:
env (String):系统所运行的环境development、testing、production、staging、uat,默认值production。
systemId (Number):系统编码,默认值1。
返回值
(Object): 返回保存结果。
zhnxSso.getToken({env: 'development', systemId: 1}).then(result => {
console.log(result.data)
}).catch(error => {
console.log(error)
})
三、返回的结果result.data
{code: "1001", result: null, message: "iframe加载成功"}
参数
code (String):返回的编码值
1000—token请求成功
1001—初始化成功
1002—保存refresh token成功
1003—refresh token为空
1004—请求token错误(请求、接口、代码错误)
1005—参数格式不对
1006—未知指令
1007—接收消息处理异常
027****—请求token后台返回的错误码;例如027004014-refreshToken已失效,请重新登录
result (Object):操作结果
message (String):操作成功或者失败的信息