0.4.3 • Published 3 years ago
sdk-web v0.4.3
sdk-web
本项目包含一些基础库.
Framework
- 主前端使用此类驱动Luigi
// 初始化工具里诶, 配置app code及环境
// 此例子中的环境通是过配置中心注入的
const framework = new sdk.Framework({
appCode: 'prc',
env: window.configs.env
})
// 初始化luigi, 加载左侧导航等操作
await framework.init()
Auth
- 运行时使用此工具类端进行登录, 登出, 权限验证等操作
- 业务ui可以使用此工具类获取用户部分信息
// 初始化
const auth = new Auth({
// 参见文档 https://github.com/IdentityModel/oidc-client-js/wiki
// 下列参数均传入oidc-client库, 重要配置项目说明如下
// 从dex登录成功后调回的地址, 每个服务都有自己的页面地址, 必须根据情况设置,
// 比如从`//test.com/a/admin.html`跳转到dex的, 那么redirect_uri一般为`//test.com/a/admin.html`
redirect_uri: "//localhost:8080",
// 下述设置说明中的值为默认值, 如果有需要, 可以覆盖
// dex登录页面地址
authority: "//lmcp-app-dev.lcfuturecenter.com/dex",
// 客户端ID, 目前统一定为"console"
client_id: "console",
// scope, 设置值如下即可
scope: "audience:server:client_id:console openid profile email groups",
// 在refreshtoken不过期的情况下, 自动更新token, 默认开启
automaticSilentRenew: true,
// 关闭自动获取oidc用户信息. 默认关闭
loadUserInfo: false,
})
// 如果有验证信息则进行处理
// 其他后续操作必须在此方法resolve以后操作
await auth.init()
// 进行登录, 跳转至dex
await auth.login()
// 返回是否已登录, 返回布尔值
const logined = await auth.isLogin()
// 登出, 并重定向至dex, 等待登录
await auth.logout()
// 获取验证信息, 未登录返回falsy value, 否则返回有效字符串
const token = auth.getAuth()
// 获取额外信息, 未登录返回falsy value, 否则返回有效字符串
const meta = auth.getMeta()
// 返回一个新对象, 是web请求中需要设置的两种请求头
/*
Axios.get(
`http://lmcp-service${prefix}.lcfuturecenter.com/cloud-dev/framework-webproxy/proxy/`,
{
headers: {
...auth.getHeaders(),
ExtraHeader: "extra value",
}
});
*/
const meta = auth.getHeaders()
0.4.3
3 years ago