我有一个简单的NodeJS应用程序,希望通过keycloak-connect保护它,但每次都会返回403-Access Denied错误。
我已经完成了我发现的所有教程(相同的代码,相同的密钥克隆和节点版本),并尝试了类似问题(Roles,Scopes)的解决方案,但是似乎没有任何解决方案。
这是我的keycloak.json文件:
{
"realm": "prueba",
"auth-server-url": "http://localhost:8080/auth/",
"ssl-required": "external",
"resource": "prueba",
"public-client": true,
"confidential-port": 0
}
我的代码:
var express = require("express");
var session = require("express-session");
var Keycloak = require("keycloak-connect");
var app = express();
app.use(session({
secret:'thisShouldBeLongAndSecret',
resave: false,
saveUninitialized: true
}));
var sessionStore = new session.MemoryStore();
var keycloak = new Keycloak({ store: sessionStore });
app.use(keycloak.middleware());
// public url
app.get("/", (req, res) => res.send("Welcome!!"));
// protected url
app.get("/hello", keycloak.protect(), (req, res) => res.send("Hello!!"));
app.listen(3000, function () {
console.log('Listening at http://localhost:3000');
});
这是我在控制台中的keycloak对象:
当我导航到http://localhost:3000/hello时,我收到403访问被拒绝
在控制台中,我得到了