gpt4 book ai didi

node.js - 带有 Node.js API 的 Keycloak 通过 Docker 失败

转载 作者:行者123 更新时间:2023-12-05 07:14:39 26 4
gpt4 key购买 nike

我有一个与 Keycloak 集成的 Node.js Rest API。当我在没有 docker 的情况下在本地运行 API 时,一切正常。但是每当我通过我的 docker 图像运行 API 时,我都会收到错误 403(禁止)。我已经确保我的容器可以连接(ping/telnet)我的 Keycloak 服务器。有什么想法可能导致问题吗?

我正在使用以下库与 Keycloak 集成:https://github.com/keycloak/keycloak-nodejs-connect

Keycloak 中间件:

const session = require("express-session");
const Keycloak = require("keycloak-connect");

function configureKeycloack(app) {
// session
const memoryStore = new session.MemoryStore();
app.use(
session({
secret: "secret-here",
resave: false,
saveUninitialized: true,
store: memoryStore
})
);
const keycloak = new Keycloak({
store: memoryStore
});
app.use(
keycloak.middleware({
logout: "/logout",
admin: "/"
})
);
// Middleware
app.use("/api/**", keycloak.protect());
}

module.exports = configureKeycloack;

key 斗篷.json

{
"realm": "my-realm",
"bearer-only": true,
"auth-server-url": "http://172.18.0.3:8080/auth",
"ssl-required": "external",
"resource": "communication-plan",
"verify-token-audience": true,
"credentials": {
"secret": "secret-goes-here...."
},
"confidential-port": 0,
"policy-enforcer": {}
}

docker 文件

FROM node:10.16.3
WORKDIR /usr/src/app
COPY package*.json ./
COPY .npmrc ./
RUN npm install
COPY . .
EXPOSE 3001
CMD npx sequelize db:migrate && node src/index.js

最佳答案

我通过使用 host networking 成功找到了解决方法容器中的功能。如本 post 中所述与 POSTMAN 的类似问题相关,我将 --network host 传递给 docker run 命令并且它有效

关于node.js - 带有 Node.js API 的 Keycloak 通过 Docker 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59831754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com