@dbx-tools/ shared- auth (英语)
验证无密码的签名、 密码、 Databricks 配置文件以及解析客户端 在浏览器和服务器边界上的数据。 软件包还提供了浏览器帮助 所拥有路线 @dbx-工具/自动门。 。 。 .
读取认证状态
import { authStatusSchema } from "@dbx-tools/shared-auth";
const response = await fetch("/api/email/auth/status", { credentials: "include" });
const status = authStatusSchema.parse(await response.json());
if (status.enabled && !status.authenticated) {
showSignIn();
}
在自定义 UI 时使用请求、 校验、 登录和状态方案 运输码直接调用认证门.
构建配置选择器
简介摘要从不包含令牌或客户秘密. 验证前面的值 提供或持续选择 :
import {
databricksProfileListSchema,
databricksProfileSelectionSchema,
} from "@dbx-tools/shared-auth";
export function selectFirstProfile(input: unknown) {
const profiles = databricksProfileListSchema.parse(input);
return databricksProfileSelectionSchema.parse({
kind: "profile",
profile: profiles[0]!.name,
});
}
使用 { kind: "ambient" } 当耗尽的运行时间选择正常时
Databricks 认证来源.
使用浏览器登录帮助
这个 browser 模块请求并验证电子邮件的一次性密码,
开始密码签入或注册,管理注册的密码,读取门
状态,并通过服务器提供的同源重定向日志.
import { requestEmailOtp, verifyEmailOtp } from "@dbx-tools/shared-auth/browser";
export async function requestCode(email: string) {
return requestEmailOtp(email);
}
export async function submitCode(email: string, code: string, name: string) {
return verifyEmailOtp(email, code, name);
}
浏览器助手使用同源 /api/email/auth 路径并包含会话
饼干 电子邮件一次性密码和登录需要认证门服务器路由.
Passkey操作还需要一个有WebAuthn支持的浏览器. 直接认证
其它地方挂载的运行时间必须使用相同的基路径,这些帮助者才能使用
说吧.
运行时边界
Zod schemas and secret-free profile 类型对于共享代码是安全的. 这个
./browser 子路径执行浏览器网络和WebAuthn操作. 这个
软件包不解析证书、薄荷数据砖符号或注册服务器
路线。 使用 @dbx-tools/ auth (英语) databricks 证书
决议和 @dbx-工具/自动门 无密码
服务器路由.
软件包出口
auth:验证无密码门请求和回复.browser:执行电子邮件检察官办公室、密码、状态和登出业务.config:定义 Databricks 认证和目标值.profile:验证无秘密配置列表和选择.client: 验证已解决,无秘密 Databricks 客户端信息.