Skip to content

@codesoul-co/hypha-memory / managed-credentials

模块用法

用于使用该功能边界的公共契约与操作。Managed credentials 模块公开 1 类、1 函数、3 接口。

从包入口导入

ts
import {
  RenewableCredentialManager,
  staticCredentialProvider,
} from '@codesoul-co/hypha-memory';

import type {
  ManagedCredentialLease,
  RenewableCredentialManagerOptions,
  RenewableCredentialProvider,
} from '@codesoul-co/hypha-memory';

使用要点

  • 3 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 1 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。
  • 1 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
RenewableCredentialManagernew RenewableCredentialManager(options: RenewableCredentialManagerOptions): RenewableCredentialManagerRenewable Credential Manager 类,共公开 4 个构造函数或成员;精确签名见本条目的声明与成员表。
staticCredentialProvider函数staticCredentialProvider(token: string, tokenType: ManagedCredentialLease["tokenType"]): RenewableCredentialProviderStatic Credential Provider 函数,提供 1 个公开调用签名;参数与返回类型见下表。
ManagedCredentialLease接口interface ManagedCredentialLeaseManaged Credential Lease 接口,共包含 3 个公开字段或方法。
RenewableCredentialManagerOptions接口interface RenewableCredentialManagerOptionsRenewable Credential Manager Options 接口,共包含 3 个公开字段或方法。
RenewableCredentialProvider接口interface RenewableCredentialProviderRenewable Credential Provider 接口,共包含 3 个公开字段或方法。

RenewableCredentialManager

Renewable Credential Manager 类,共公开 4 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { RenewableCredentialManager } from '@codesoul-co/hypha-memory';
  • 源码模块: managed-credentials

声明

text
export declare class RenewableCredentialManager {
    constructor(options: RenewableCredentialManagerOptions);
    get(signal?: AbortSignal): Promise<ManagedCredentialLease>;
    invalidate(): void;
    close(signal?: AbortSignal): Promise<void>;
}

公开成员

成员种类签名说明
close方法close(signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。
constructor构造函数(options: RenewableCredentialManagerOptions): RenewableCredentialManager创建该类的实例。
get方法get(signal?: AbortSignal): Promise<ManagedCredentialLease>公开方法;参数与返回类型以签名列为准。
invalidate方法invalidate(): void公开方法;参数与返回类型以签名列为准。

staticCredentialProvider

Static Credential Provider 函数,提供 1 个公开调用签名;参数与返回类型见下表。

  • 种类: 函数
  • 导入: import { staticCredentialProvider } from '@codesoul-co/hypha-memory';
  • 源码模块: managed-credentials

声明

text
export declare function staticCredentialProvider(token: string, tokenType: ManagedCredentialLease['tokenType']): RenewableCredentialProvider;

调用签名

text
staticCredentialProvider(token: string, tokenType: ManagedCredentialLease["tokenType"]): RenewableCredentialProvider

参数

参数类型必需说明
tokenstring必需参数;接受的值由类型列定义。
tokenType"api_token" | "oauth_bearer"必需参数;接受的值由类型列定义。

返回值

  • 类型: RenewableCredentialProvider
  • 说明: 返回值契约由上述类型定义。

ManagedCredentialLease

Managed Credential Lease 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ManagedCredentialLease } from '@codesoul-co/hypha-memory';
  • 源码模块: managed-credentials

声明

text
export interface ManagedCredentialLease {
    token: string;
    tokenType: 'api_token' | 'oauth_bearer';
    expiresAt?: string;
}

契约成员

成员种类签名说明
expiresAt属性expiresAt?: string公开属性;类型、只读和可选状态以签名列为准。
token属性token: string公开属性;类型、只读和可选状态以签名列为准。
tokenType属性tokenType: "api_token" | "oauth_bearer"公开属性;类型、只读和可选状态以签名列为准。

RenewableCredentialManagerOptions

Renewable Credential Manager Options 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { RenewableCredentialManagerOptions } from '@codesoul-co/hypha-memory';
  • 源码模块: managed-credentials

声明

text
export interface RenewableCredentialManagerOptions {
    provider: RenewableCredentialProvider;
    refreshSkewMs?: number;
    now?: () => Date;
}

契约成员

成员种类签名说明
now方法now?(): Date公开方法;参数与返回类型以签名列为准。
provider属性provider: RenewableCredentialProvider公开属性;类型、只读和可选状态以签名列为准。
refreshSkewMs属性refreshSkewMs?: number公开属性;类型、只读和可选状态以签名列为准。

RenewableCredentialProvider

Renewable Credential Provider 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { RenewableCredentialProvider } from '@codesoul-co/hypha-memory';
  • 源码模块: managed-credentials

声明

text
export interface RenewableCredentialProvider {
    acquire(signal?: AbortSignal): Promise<ManagedCredentialLease>;
    revoke?(lease: ManagedCredentialLease, signal?: AbortSignal): Promise<void>;
    close?(): Promise<void>;
}

契约成员

成员种类签名说明
acquire方法acquire(signal?: AbortSignal): Promise<ManagedCredentialLease>公开方法;参数与返回类型以签名列为准。
close方法close?(): Promise<void>公开方法;参数与返回类型以签名列为准。
revoke方法revoke?(lease: ManagedCredentialLease, signal?: AbortSignal): Promise<void>公开方法;参数与返回类型以签名列为准。