0

我正在尝试使用 Keycloak 对在 https 端口 4443 ( https://localhost:4443) 上运行的 nodejs 应用程序实现身份验证机制。

Keycloak 应用程序正在 EC2 实例的 8443 https 端口中运行。我正在尝试登录我的应用程序,该应用程序使用 Keycloak 进行身份验证,该应用程序在端口 4443 上运行。但出现以下错误:

在此处输入图像描述

密钥斗篷 json 文件:

{
    "realm": "VideoKYC-Realm",
    "auth-server-url": "https://31.19.1.85:8443/auth",
    "ssl-required": "external",
    "resource": "VideoKYC",
    "public-client": true,
    "confidential-port": 0
}

以下是在 keycloak 服务器中进行的设置 在此处输入图像描述

到目前为止,我还没有 SSL 证书,因此需要一种绕过 SSL 的方法。此外,我尝试在端口 8080 上运行 keycloack,但无法通过浏览器访问 keycloak。

但是,截至目前,aws 安全组已允许所有流量。

我正在使用下图在 EC2 实例中运行 Keycloak。 https://hub.docker.com/r/jboss/keycloak

在此处输入图像描述

将请求您对此问题的所有帮助

4

1 回答 1

1

您可以使用:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

指示 Node js 禁用 TLS 证书验证 - https://nodejs.org/api/cli.html#cli_node_tls_reject_unauthorized_value

当然,这不是生产设置,因为它会牺牲 TLS 安全性。

另一个选项(可能更复杂):

  • 将使用过的 CA 证书添加到您的 Node JS CA 证书
  • 可能使用的 keycloak 库有配置在库级别禁用 TLS 验证
于 2021-10-04T21:15:13.807 回答