用途:帮助在应用中实现 OAuth 2.0 与 OpenID Connect 认证,覆盖授权码+PKCE、客户端凭证、设备码等流程,并给出令牌处理、会话管理与多提供商集成的实现方式。
主要能力:生成 PKCE code verifier/challenge 与 state 防 CSRF;实现登录跳转与回调路由,用授权码换取令牌;通过 OIDC Discovery 获取配置,使用 jose 校验 ID Token 签名与声明,调用 userinfo 端点;用 HttpOnly Cookie 存储会话,支持刷新令牌与主动刷新;内置 Google、GitHub、Microsoft 等提供商配置示例;提供客户端凭证流程的机器令牌获取与缓存。
使用方式:按资料中的 Next.js 示例组织代码,如 lib/auth/oauth.ts、app/api/auth/login/route.ts、app/api/auth/callback/route.ts、lib/auth/oidc.ts、lib/auth/jwt.ts、lib/auth/session.ts、lib/auth/providers.ts、lib/auth/machine.ts;通过环境变量配置 OAUTH_CLIENT_ID、OAUTH_CLIENT_SECRET、OAUTH_REDIRECT_URI、OIDC_ISSUER、SESSION_SECRET 等。
适用场景:Web/移动端登录、机器对机器认证、多身份提供商接入、需要安全令牌存储与刷新的应用。
限制:资料未提供具体安装命令、依赖版本、收费或价格信息;示例基于 Next.js 与 jose,其他框架需自行适配;Implicit 流程已弃用,不建议使用;生产环境必须使用 HTTPS。