Keycloak 状态参数无效

Posted

技术标签:

【中文标题】Keycloak 状态参数无效【英文标题】:Keycloak state parameter invalid 【发布时间】:2018-10-15 00:29:09 【问题描述】:

当用户单击登录时,重定向到 Keycloak 登录页面,然后在成功登录后,用户返回应用程序并显示 400 错误页面。 服务器日志显示如下:

[服务器:node-00] 13:40:00,709 警告 [org.keycloak.adapters.OAuthRequestAuthenticator](默认任务 30) 状态参数无效

我的应用程序配置是:

<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
    <secure-deployment name="appWEB.war">
        <realm>demo</realm>
        <resource>app</resource>
        <public-client>true</public-client>
        <auth-server-url>http://localhost:8180/auth</auth-server-url>
        <ssl-required>EXTERNAL</ssl-required>
    </secure-deployment>
</subsystem>

应用程序 URL 是 https://localhost:8443/app & redirect_url 是 https://localhost:8443/app/private.jsf。

当我使用 http 时,它可以工作。但是当我将它与 https 一起使用时,就会出现错误。 有什么想法吗?

【问题讨论】:

【参考方案1】:

这里有很多情况可能会因https 而失败

    Keycloak 在https 中运行 为 keycloak 创建自签名认证。 将此证书导入您的本地 Java 环境。因此可以进行握手。

我希望你在 keycloak 中生成证书,你可以在 keycloak/security/ssl 中找到证书。

【讨论】:

Keycloak 正在 HTTP 中运行。 为什么 keycloak 在http 中运行? Keycloak 只能在https 上运行。在 http 上运行的 Keycloak 和在 https 上运行的应用程序? 是的,检查 KC 是开发环境。

以上是关于Keycloak 状态参数无效的主要内容,如果未能解决你的问题,请参考以下文章

keycloak 无效参数:redirect_uri 在反向代理后面

Spring Boot、Minikube、Istio 和 Keycloak:“无效参数:redirect_uri”

KeyCloak 与 Azure ADB2C 集成 - 缺少状态参数

Keycloak 直接访问授权在 keycloak userinfo 端点上无效

Keycloak:从内部 docker 容器运行时令牌颁发者无效

Keycloak - 授权验证失败。原因:无效令牌(错误的 ISS)