app-check package

Firebase App Check Web SDK。

Firebase App Check 不适用于使用 ReCaptchaV3ProviderReCaptchaEnterpriseProvider 的 Node.js 环境,但如果您使用 CustomProvider 并编写自己的证明方法,则可以在 Node.js 中使用。

函数

函数 说明
function(应用, ...)
initializeAppCheck(app, options) 为指定应用激活 App Check。每个应用只能调用一次。
function(appCheckInstance, ...)
getLimitedUseToken(appCheckInstance) 请求 Firebase App Check 令牌。仅当您需要向非 Firebase 后端的请求授权时,才应使用此方法。返回限制使用令牌,旨在与受 Replay Protection 保护的非 Firebase 后端端点搭配使用。此方法不会影响 #getAppCheckToken() 方法的令牌生成行为。
getToken(appCheckInstance, forceRefresh) 获取当前的 App Check 令牌。如果 forceRefresh 为 false,此函数会首先检查内存中的有效令牌,然后检查本地持久性 (IndexedDB)。如果未找到或 forceRefresh 为 true,它会向 App Check 端点发出请求,以获取新令牌。该请求会附加到最近的运行中请求(如果有)。
onTokenChanged(appCheckInstance, observer) 注册一个监听器来监听令牌状态的变化。可以为一个或多个 App Check 实例同时注册多个监听器。每当与此 App Check 实例关联的当前令牌发生变化时,监听器都会在界面线程上回调。
onTokenChanged(appCheckInstance, onNext, onError, onCompleted) 注册一个监听器来监听令牌状态的变化。可以为一个或多个 App Check 实例同时注册多个监听器。每当与此 App Check 实例关联的当前令牌发生变化时,监听器都会在界面线程上回调。
setTokenAutoRefreshEnabled(appCheckInstance, isTokenAutoRefreshEnabled) 设置 App Check 是否根据需要自动刷新令牌。

说明
CustomProvider 自定义提供程序类。
ReCaptchaEnterpriseProvider 可以获取 reCAPTCHA Enterprise 令牌并将其交换为 App Check 令牌的 App Check 提供方。
ReCaptchaV3Provider 可以获取 reCAPTCHA V3 令牌并将其交换为 App Check 令牌的 App Check 提供程序。

接口

接口 说明
AppCheck Firebase App Check 服务界面。
AppCheckOptions App Check 初始化选项。
AppCheckToken 从 App Check 提供程序返回的令牌。
AppCheckTokenResult getToken() 返回的结果。
CustomProviderOptions 创建 CustomProvider 时使用的选项。

类型别名

类型别名 说明
AppCheckTokenListener 每当 App Check 令牌更改时调用的监听器。

function(应用, ...)

initializeAppCheck(应用, 选项)

为指定应用激活 App Check。每个应用只能调用一次。

签名

export declare function initializeAppCheck(app: FirebaseApp | undefined, options: AppCheckOptions): AppCheck;

参数

参数 类型 说明
应用 FirebaseApp |未定义 FirebaseApp(用于为以下各项启用 App Check)
选项 AppCheckOptions App Check 初始化选项

返回

AppCheck

function(appCheckInstance, ...)

getLimitedUseToken(appCheckInstance)

请求 Firebase App Check 令牌。仅当您需要向对非 Firebase 后端的请求授权时,才应使用此方法。

返回与受 重放攻击保护保护的非 Firebase 后端端点配合使用的限定用途令牌。此方法不会影响 #getAppCheckToken() 方法的令牌生成行为。

签名

export declare function getLimitedUseToken(appCheckInstance: AppCheck): Promise<AppCheckTokenResult>;

参数

参数 类型 说明
appCheckInstance AppCheck App Check 服务实例。

返回

Promise<AppCheckTokenResult>

限定使用令牌。

getToken(appCheckInstance, forceRefresh)

获取当前的 App Check 令牌。如果 forceRefresh 为 false,此函数会首先检查内存中的有效令牌,然后检查本地持久性 (IndexedDB)。如果未找到或 forceRefresh 为 true,它会向 App Check 端点发出请求,以获取新令牌。该请求会附加到最近的运行中请求(如果有)。

签名

export declare function getToken(appCheckInstance: AppCheck, forceRefresh?: boolean): Promise<AppCheckTokenResult>;

参数

参数 类型 说明
appCheckInstance AppCheck App Check 服务实例。
强制刷新 布尔值 如果为 true,将始终尝试提取新的令牌。如果为 false,将使用缓存的令牌(如果在存储空间中找到)。

返回

Promise<AppCheckTokenResult>

onTokenChanged(appCheckInstance, observer)

注册一个监听器来监听令牌状态的变化。可以为一个或多个 App Check 实例同时注册多个监听器。每当与此 App Check 实例关联的当前令牌发生变化时,监听器都会在界面线程上回调。

签名

export declare function onTokenChanged(appCheckInstance: AppCheck, observer: PartialObserver<AppCheckTokenResult>): Unsubscribe;

参数

参数 类型 说明
appCheckInstance AppCheck App Check 服务实例。
观察者 PartialObserver<AppCheckTokenResult> 一个具有 nexterrorcomplete 属性的对象。每当令牌更改时,系统都会使用 AppCheckTokenResult 调用 nexterror 是可选的,在监听器(next 函数)抛出错误时调用该方法。未使用 complete,因为令牌流不会结束。

返回

退订

用于退订此监听器的函数。

onTokenChanged(appCheckInstance, onNext, onError, onCompleted)

注册一个监听器来监听令牌状态的变化。可以为一个或多个 App Check 实例同时注册多个监听器。每当与此 App Check 实例关联的当前令牌发生变化时,监听器都会在界面线程上回调。

签名

export declare function onTokenChanged(appCheckInstance: AppCheck, onNext: (tokenResult: AppCheckTokenResult) => void, onError?: (error: Error) => void, onCompletion?: () => void): Unsubscribe;

参数

参数 类型 说明
appCheckInstance AppCheck App Check 服务实例。
onNext (tokenResult: AppCheckTokenResult) =>无效 当令牌发生更改时,系统会使用 AppCheckTokenResult 调用此函数。
onError (错误:错误)=>无效 可选。在监听器(onNext 函数)抛出错误时调用。
onComplete () =>无效 目前未使用,因为令牌流没有结束。

返回

退订

用于退订此监听器的函数。

setTokenAutoRefreshEnabled(appCheckInstance, isTokenAutoRefreshEnabled)

设置 App Check 是否根据需要自动刷新令牌。

签名

export declare function setTokenAutoRefreshEnabled(appCheckInstance: AppCheck, isTokenAutoRefreshEnabled: boolean): void;

参数

参数 类型 说明
appCheckInstance AppCheck App Check 服务实例。
isTokenAutoRefreshEnabled 布尔值 如果为 true,SDK 会根据需要自动刷新 App Check 令牌。这会替换在 initializeAppCheck() 期间设置的任何值。

返回

void

AppCheckTokenListener

每当 App Check 令牌更改时调用的监听器。

签名

export declare type AppCheckTokenListener = (token: AppCheckTokenResult) => void;