我正在使用 keycloak 实例登录前端并保护后端 API。在 aws 上的 linux 机器上部署后,我遇到了一个问题。通过使用 jwt 令牌访问 api,我不断被重定向到登录页面。在本地它工作正常。
我的客户是机密客户。我正在使用 client_id 和 _secret 来授权令牌调用。jwt 令牌有效并成功生成。我的 api 实现适用于 expressJs 和 keycloak-nodejs-connector:
keycloakConfig = {
serverUrl: 'https://keycloak.myserver.com/auth',
realm: 'examplerealm',
clientId: 'ui-client'
};
public init() {
if (this.keycloak) {
console.warn("Trying to init Keycloak again!");
return this.keycloak;
}
else {
console.log("Initializing Keycloak...");
const memoryStore = new session.MemoryStore();
// @ts-ignore
this.keycloak = new Keycloak({ store: memoryStore }, this.keycloakConfig );
return this.keycloak;
}
}
我可以想象它取决于当前的 https 设置。我的 nodejs api 为 http 和 https 提供了一个端点(本地带有自签名证书)。在运行 keycloak 的服务器上,我使用 certbot 添加了一个letsencrypt证书,在浏览器中一切看起来都很好。Keycloak 使用 docker-container jboss/keycloak 启动。
我很想弄清楚我当前的问题,非常感谢您的帮助:slight_smile:如果我错过了添加必要的信息,请告诉我。提前致谢。多米尼克