bunms-auth
v0.1.9
Published
Readme
bunms-auth
组织级权限认证库,基于 bunms-core 构建。
安装
bun add bunms-auth使用
import { AuthUser, UserType } from 'bunms-auth'
// 从 JwtUser 构造 AuthUser
const authUser = new AuthUser(jwtUser)
// 获取用户 ID(无则抛 403)
const userId = authUser.getId(UserType.PubUser)
// 获取用户 ID(无则返回 null)
const userIdOrNull = authUser.getIdOrNull(UserType.PubUser)
// 获取PubUser登录名(对普通用户是手机号,虚拟账号则为字母开头的登录名)
const userName = authUser.getPubUserName()
// 校验用户 ID(不匹配则抛 403)
authUser.checkUser(expectedUserId)API
UserType
用户类型枚举:
AuthUser— 默认认证用户(已废弃,只有极少量存量数据)PubUser— 普通用户Staff— 员工Phone— 手机号用户。非单独用户类型,而是取职工手机号或者PubUser登录名作为id(一般的PubUser手机号与登录名相同,但虚拟用户登录名以字母开头)
AuthUser
权限用户类,从 JWT token 中提取用户身份信息。
class AuthUser {
constructor(readonly jwtUser: JwtUser)
getIdOrNull(userType: UserType): string | null
getId(userType: UserType): string
getPubUserIdOrNull(): number | null
getPubUserId(): number
getPubUserName(): string
getStaffIdOrNull(): number | null
getStaffId(): number
checkUser(expectedUserId: string | number | null, userType?: UserType): void
}依赖
bunms-core— 基础库(提供JwtUser、HttpStatusError)
