logologo
开始
手册
开发
插件
API
首页
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
开始
手册
开发
插件
API
首页
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

@nocobase/telemetry

Metric
Telemetry
Trace
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 接口调用,判断用户是否能成功登录。