0.1.5 • Published 4 years ago

egg-cz-login v0.1.5

Weekly downloads
19
License
-
Repository
-
Last release
4 years ago

egg-cz-login

cz sso 免登插件

配置插件

开启插件

  • config/plugin.js:
exports.czLogin = true;
  • config/config.{env}.js:
config.czLogin = {
  appCode: "xxxx",
  appSecret: "xxxxxxx",
  clientType: "rest",
  userField: "user",
  ignore: "/api", // 哪些路径可以不经过登陆访问,可以传正则或者方法(https://github.com/koajs/userauth)
  match: "/pages", // 指定哪些路径必须要登陆访问,可以传正则或者方法
  needSsoUser: true,
  refreshToken: false,
  ssoURL: "******",
  loginCallback: function* (ctx, user) {}, // 一般不需要配置。登录成功后的回掉函数,有机会整理/改变 user
  // 信息,并指定 redirectUrl。 只执行一次,要求返回数据格式为:
  // [user, redirectUrl],
  // 一般返回 [user, null] 即可,会跳转到 referer url
  ssoType: "SSO_TYPE_ONLY_AUTH", // 目前仅支持这种
};

使用

获取用户信息

在开启了 czLogin 的插件之后,访问所有需要登陆的路径, 可以从 ctx.session[{userField}] 上获取到用户信息,默认的 userFielduser

const loginUser = this.session.user;

同时,为了保持基于 egg 框架的一致性,egg-cz-login 同时会设置 ctx.user,用于获取登陆的用户信息。

const loginUser = this.user;
// 获取当前用户工号
const userId = this.userId;

注意,对 ctx.user 的任何修改,都会被 session 中间件保存下来,当前用户退出登陆之前都会生效。

更多的配置查看:https://www.npmjs.com/package/koa-buc