logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
API Overview

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
Cache

@nocobase/cli

NocoBase CLI
全局环境变量

@nocobase/client

Application
Plugin

@nocobase/database

Collection
Field

interfaces

BaseInterface
Filter Operators

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
Repository

shared

create-options
destroy-options
find-one
find-options
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
DataSource (abstract)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

DataSourceManager
FlowContext
FlowEngine
FlowModel
FlowResource

@nocobase/logger

Logger

@nocobase/server

AppCommand
Application
AuditManager
Context
Migration
Plugin

@nocobase/sdk

Auth
Storage
Previous PageAuth
Next PageCacheManager

#BaseAuth

#概览

BaseAuth 继承自 Auth 抽象类,是用户认证类型的基础实现,用 JWT 作为鉴权方式。大多数情况下,扩展用户认证类型可以继承 BaseAuth 进行扩展,没有必要直接继承 Auth 抽象类。

class BasicAuth extends BaseAuth {
  constructor(config: AuthConfig) {
    // 设置用户数据表
    const userCollection = config.ctx.db.getCollection('users');
    super({ ...config, userCollection });
  }

  // 用户认证逻辑,由 `auth.signIn` 调用
  // 返回用户数据
  async validate() {
    const ctx = this.ctx;
    const { values } = ctx.action.params;
    // ...
    return user;
  }
}

#类方法

#constructor()

构造函数,创建一个 BaseAuth 实例。

#签名

  • constructor(config: AuthConfig & { userCollection: Collection })

#详细信息

参数类型描述
configAuthConfig参考 Auth - AuthConfig
userCollectionCollection用户数据表, 比如: db.getCollection('users'),参考 DataBase - Collection

#user()

访问器,设置和获取用户信息,默认使用 ctx.state.currentUser 对象存取。

#签名

  • set user()
  • get user()

#check()

通过请求 token 鉴权,返回用户信息。

#signIn()

用户登录,生成 token.

#signUp()

用户注册。

#signOut()

用户注销登录,token 过期。

#validate() *

鉴权核心逻辑,由 signIn 接口调用,判断用户是否能成功登录。