steedos-platform/packages/auth
github-actions fc6272b2c0 v2.2.8
2022-03-28 00:51:47 +00:00
..
src vscode.steedos.com 会处理cookies。规则是cookie的value中如果有逗号,则会给value自动添加双引号 #2670 2022-01-11 23:00:18 +08:00
test #210 优化user session 结构,export function getSessionByUserId(userId, spaceId)函数 2019-12-20 17:56:45 +08:00
History.md #124 统一发beta版本包:1.5.0-beta.0 2019-08-30 09:31:24 +08:00
package.json v2.2.8 2022-03-28 00:51:47 +00:00
README.md package 加下 README.md #2344 2021-10-21 14:24:24 +08:00
tsconfig.json --skipLibCheck: Skip type checking of all declaration files (*.d.ts). 2019-09-23 19:19:21 +08:00

@steedos/auth用于生成及缓存用户的session提高验证速度

安装

  • yarn add @steedos/auth 或者 npm install @steedos/auth

开放getSession方法获取用户session

  • 参数token是X-AUTH-TOKEN, spaceId是工作区id
  • async function getSession(token: string, spaceId: string): Promise<SteedosUserSession>;
  • 返回SteedosUserSession格式如下
export declare type SteedosIDType = number | string;
{
    userId: SteedosIDType; // 用户id
    spaceId: string; // 工作区id
    roles: string[]; // 用户角色
    name: string; // 用户名称
    steedos_id?: string; // 用户steedosid
    email?: string; // 用户邮件
    companyId?: string; // 用户所属单位id
    companyIds?: string[]; // 用户所属所有单位id
}
  • 如果参数spaceid没传则 async function getSession(token: string): Promise<ResultSession>;
  • 返回ResultSession格式如下
{
  name: string; // 用户名称
  userId: SteedosIDType; // 用户id
  steedos_id?: string; // 用户steedosid
  email?: string; // 用户邮件
}

开放auth方法验证用户session

  • async function auth(request: Request, response: Response): Promise<any>
  • 传入request response对象返回getSession方法返回值

开放setRequestUser方法设置req.user属性

  • async function setRequestUser(request: Request, response: Response, next)
  • 示例:
  let app = express();
  app.use('/', setRequestUser);

功能说明

  • 此包用于解析接口用户认证信息、缓存用户基本信息