提问者:小点点

我的QuarkusAPI钥匙斗篷Idp出错(仅限无记名模式)


我正在尝试使用身份验证(仅承载模式)制作一个QUUKUSAPI(OpenAPI-RESTEasy)。这是我的QUUKUS配置:

# OIDC Configuration
quarkus.oidc.auth-server-url=https://my_idp/auth/realms/MY_REALM
quarkus.oidc.client-id=my_keycloak_client
quarkus.oidc.tls.verification=none

# Enable Policy Enforcement
quarkus.keycloak.policy-enforcer.enable=true
...

还有我的钥匙斗篷客户:

client protocol : openid-connect
access_type : bearer-only
A secret is also defined for this client (but I think it doesn't need to beused in that case)

在启动时(mvn编译quakus: dev),我收到以下错误:

Failed to start application (with profile dev): org.keycloak.authorization.client.util.HttpResponseException: Unexpected response from server: 400 / Bad Re
quest / Response from server: {"error":"invalid_client","error_description":"Invalid client credentials"}

(我检查过我的客户ID没问题)

我已经阅读了官方指南:https://quarkus.io/guides/security-openid-connect和其他谷歌文章,但没有找到任何资源,描述这个用法。

我错过了什么吗?这个API以前是用Spring Boot完成的,一切都很好。

谢谢,

克利斯朵夫


共1个答案

匿名用户

我的解决方案:最后(我的错),这是因为我使用了keycroak策略强制机制。我放弃了依赖项“keycroak-授权”(以及相关的配置)。

只有oidc依赖项是强制性的,具有以下application.properties:

# OIDC Configuration
quarkus.oidc.auth-server-url=https://idp/auth/realms/REALM
quarkus.oidc.client-id=CLIENT_ID
quarkus.oidc.tls.verification=none
quarkus.http.auth.permission.permit1.paths=/*
quarkus.http.auth.permission.permit1.policy=authenticated
quarkus.http.auth.permission.dev.paths=/q/dev
quarkus.http.auth.permission.dev.policy=permit

我用https://quarkus.io/guides/security-keycloak-authorization指南而不是https://quarkus.io/guides/security-openid-connect指南。

问候