用途:为 Java Servlet Web 应用添加 Auth0 认证,使用 com.auth0:mvc-auth-commons 实现登录、登出与回调处理,采用基于会话的认证方式,并支持 Organizations 与 Multiple Custom Domains。
主要能力:AuthenticationController 用于构建授权 URL 与处理回调;AuthorizeUrl 支持设置 scope、audience、organization、invitation、connection 等参数;Tokens 提供 accessToken、idToken、refreshToken 等;DomainResolver 支持多自定义域名。
使用方式:先获取最新版本,运行 gh api repos/auth0/auth0-java-mvc-common/releases/latest --jq '.tag_name',失败时用 1.12.0。依赖:Gradle 为 implementation 'com.auth0:mvc-auth-commons:1.12.0';Maven 为 com.auth0:mvc-auth-commons:1.12.0。需在 Auth0 创建 Regular Web Application,凭证通过环境变量或 .env 提供,且 .env 需加入 .gitignore。Java 不自动加载 .env,需使用 dotenv-java 或先 source .env。Domain 不得包含 https://。随后初始化 AuthenticationController 单例,创建 /login 与 /callback Servlet,并用 Filter 保护路由。构建验证:./gradlew build 或 mvn package。
适用场景:Java 8+(推荐 17+)、Servlet 容器(Tomcat、Jetty 等)与 javax.servlet 3+、Maven 3.6+ 或 Gradle 7+ 的服务端 Java Web 应用。
限制:不适用于 Spring Boot 自动配置、Spring Boot REST API、单页应用、移动应用及机器对机器调用;必须使用 Regular Web Application 与 code flow,回调 URL 需与 Auth0 控制台完全一致,scope 必须包含 openid,并需处理 IdentityVerificationException。登出前应调用 request.getSession().invalidate()。其余高级配置细节暂未提供。