Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Authenticator

授权服务接口,通过实现抽象类,实现一个授权服务。
Authenticator 的实现方式及 Provider 类型是可以自定义的。

常见的两种注入方式:

  • 单例方式

    同一个入口模块下只会有一个 Authenticator 实例,你可以将解析结果通过 LiteContext 进行共享。

    @Tora.Module({
        providers: [
            { provide: Authenticator, useClass: CustomAuthenticator }
        ]
    })
    
  • 普通方式

    每一个请求初始化时会创建一个 Authenticator 实例,此时你可以通过在 Authenticator 上记录解析结果进行数据共享。

    @Tora.Module({
        providers: [
            { provide: Authenticator, useClass: CustomAuthenticator, multi: true }
        ]
    })
    

Hierarchy

  • Authenticator

Index

Constructors

Methods

Constructors

constructor

Methods

Abstract auth

  • auth(ctx: LiteContext): Promise<undefined | ToraAuthInfo>
  • 对用户的请求进行授权校验。

    • 校验通过:返回 token 信息,比如用户信息。
    • 校验不通过:可以返回 undefined,或者直接抛出异常。
      需要注意的是,此时抛出的异常会被捕获并认为返回了 undefined。

    Parameters

    Returns Promise<undefined | ToraAuthInfo>

Generated using TypeDoc