Oauth 2.0 Quarkus web app无法使用JWT和KeyClope进行授权
我正在尝试使用KeyClope中的代码授权流将用户授权给Quarkus应用程序。 这是Quarkus配置Oauth 2.0 Quarkus web app无法使用JWT和KeyClope进行授权,oauth-2.0,keycloak,quarkus,Oauth 2.0,Keycloak,Quarkus,我正在尝试使用KeyClope中的代码授权流将用户授权给Quarkus应用程序。 这是Quarkus配置 # OIDC Configuration quarkus.oidc.auth-server-url=http://localhost:8180/auth/realms/quarkus quarkus.oidc.client-id=web-application quarkus.oidc.credentials.secret=ca21b304-XXX-XXX-XXX-51d38ef5da02
# OIDC Configuration
quarkus.oidc.auth-server-url=http://localhost:8180/auth/realms/quarkus
quarkus.oidc.client-id=web-application
quarkus.oidc.credentials.secret=ca21b304-XXX-XXX-XXX-51d38ef5da02
quarkus.oidc.application-type=web-app
quarkus.oidc.authentication.scopes=email
“web应用程序”的客户端配置仅启用了标准流(用于代码授予流)
- 我访问
- 我被重定向到keydape(url看起来很好,带有
scope=openid+email&response\u type=code&client\u id=web应用程序
- 我使用示例用户帐户登录
- 我被重定向回代码
- 然后我在Quarkus中得到一个例外
09:58:25,420 WARN [org.keycloak.events] (default task-30) type=CLIENT_LOGIN_ERROR, realmId=quarkus, clientId=web-application, userId=null, ipAddress=172.17.0.1, error=invalid_client, grant_type=client_credentials, client_auth_method=client-secret
问题:
为什么Quarkus尝试使用“grant\u type=客户端\u凭据”?它应该使用grant type=“authorization\u code”。这看起来像Quarkus中的一个错误,但可能有一个标志。您可以尝试:
quarkus.oidc.client-type=web-app
而不是:
quarkus.oidc.application-type=web-app
来源:“已启用服务帐户”已禁用。启用它应该可以解决问题。底部的属性列表只有应用程序类型。我的示例在删除KeyClope依赖项时有效。
quarkus.oidc.application-type=web-app