1.0.4 • Published 2 years ago

zhnx-sso v1.0.4

Weekly downloads
7
License
MIT
Repository
-
Last release
2 years ago

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):操作成功或者失败的信息

1.0.4

2 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.0

4 years ago