我正在设置一个受 KeyCloak 保护的 Node.js 服务器。这是我第一次使用 KeyCloak,我正在尝试各种用例。
我成功地实现了我使用express-session并MemoryStore与公共客户端一起使用的场景。这是我的keycloak.json:
{
"realm": "keycloak-node-monolith",
"auth-server-url": "http://localhost:8180/auth",
"ssl-required": "external",
"resource": "keycloak-node-monolith-public",
"public-client": true,
"confidential-port": 0
}
Run Code Online (Sandbox Code Playgroud)
这是我的工作服务器代码:
var session = require('express-session');
var Keycloak = require('keycloak-connect');
var express = require('express');
var app = express();
var memoryStore = new session.MemoryStore();
app.use(session({
secret: 'uhlulululu',
resave: false,
saveUninitialized: true,
store: memoryStore
}));
var keycloak = new Keycloak({ store: memoryStore });
app.use( keycloak.middleware());
app.get( '/check-sso', keycloak.checkSso(), (req, res) => {
res.send('Check sso success');
}); …Run Code Online (Sandbox Code Playgroud)