一个在 Cloudflare Workers 和 Zero Trust 上部署的电子邮件验证协议的最小实现。

Stars

67

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

暂无数据

最近更新

2026-07-13

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它提供了一个可部署的参考实现,结合了 Cloudflare 的边缘计算和 Zero Trust,用于安全的基于电子邮件的身份验证。

适合谁使用

  • Cloudflare Workers 开发者
  • 实现电子邮件验证协议的身份提供商
  • 探索 FedCM 和电子邮件验证的 Web 开发者
  • 寻求无密码认证的安全工程师

典型使用场景

  • 为 Web 应用提供无密码电子邮件登录
  • 实现 FedCM 的身份提供商
  • 在账户恢复或授权中验证电子邮件所有权
  • 在生产环境中演示电子邮件验证协议

项目优势

  • 部署简单,步骤清晰
  • 利用 Cloudflare Zero Trust 保护端点
  • 使用 EdDSA 密钥对进行安全签名
  • 引用了权威来源(Chrome,IETF,W3C)

使用前须知

  • 需要 Cloudflare 账户和 Zero Trust 配置
  • 依赖实验性协议(origin trial)
  • 文档仅涵盖部署步骤,缺少 API 或代码详细说明

README 快速开始

Verify me!

Minimal implementation of the Email Verification Protocol on Cloudflare Workers + Zero Trust.

Deploy yours

  1. Prepare a Cloudflare account and configure Cloudflare Zero Trust.
  2. Deploy this project to Workers, changing variables in wrangler.jsonc.
  3. Protect the following endpoints in Zero Trust: /accounts, /login, and /verify-email.
  4. Make sure the authorisation Cookie is SameSite=None (Application > Additional settings > Cookie).
  5. Create .well-known/web-identity on your eTLD+1 domain name.
  6. Login using your browser via /login endpoint.
  7. Try the demo with your email address(es)!

How to create a EdDSA key pair

node <<EOT
const jose = await import("jose");
const keyPair = await jose.generateKeyPair("EdDSA", { extractable: true });
const jwk = await crypto.subtle.exportKey("jwk", keyPair.privateKey);
console.log(jwk);
EOT

The d value is a private key and the x value is a public key.

References

项目描述

Minimal implementation of the Email Verification Protocol on Cloudflare Workers + Zero Trust.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

TanStack
精选
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web 开发前端框架
14,861
vercel-labs
精选
vercel-labs GitHub avatar

scriptc

scriptc compiles ordinary TypeScript into small, fast native executables without needing Node.js, V8, or any JavaScript runtime in the binary.

开发者工具代码质量与构建
1,985
Jakubantalik
精选
Jakubantalik GitHub avatar

thinking-orbs

A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.

AI 与机器学习AI 智能体
1,191