首页 > 解决方案 > Java EE 应用程序中的 OAuth2 访问令牌

问题描述


我正在尝试找到一种在 Java Enterprise 应用程序中使用 OAuth2 访问令牌身份验证的方法。到目前为止,我发现的唯一示例与 Spring Boot 有关。例如,Spring Boot 应用程序能够定义属性来访问 Keycloak 服务器并指定领域和客户端:

keycloak.realm=spring-boot-quickstart
keycloak.auth-server-url=http://localhost:8180/auth
keycloak.ssl-required=external
keycloak.resource=app-authz-rest-employee
keycloak.bearer-only=true
keycloak.credentials.secret=secret
keycloak.securityConstraints[0].authRoles[0]=user
keycloak.securityConstraints[0].securityCollections[0].name=protected
keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/*
keycloak.policy-enforcer-config.enforcement-mode=ENFORCING
keycloak.policy-enforcer-config.claimInformationPointConfig.claims[http.uri]={request.relativePath}

是否有可用于 Java 企业应用程序的等效配置?在 web.xml 中,您似乎只能将 KEYCLOAK 指定为身份验证方法:

 <auth-method>KEYCLOAK</auth-method>

但这只是重定向到keycloak登录挑战。我宁愿使用代币。也许系统属性或其他方式?谢谢

标签: jakarta-eeoauth-2.0keycloak

解决方案


有由 Keycloak 保护的 java ee 示例应用程序的官方示例


推荐阅读