Keycloak从我的响应前端发送令牌时返回403错误。
我已经在React中实现了keycloak服务器和身份验证。成功登录后,我可以获取keycloak.token并在react中重定向。
我遵循了发现的教程,并且我的设置与此答案几乎相同:Keycloak nodeJS always get 403
[不幸的是,我仍然收到403-访问被拒绝-错误。我已经设置了一个领域,下面是我的keycloak.json文件和代码。
{
"realm": "Weal V3",
"bearer-only": true,
"auth-server-url": "http://localhost:8080/auth",
"ssl-required": "external",
"resource": "node",
"verify-token-audience": true,
"use-resource-role-mappings": true,
"confidential-port": 0
}
我的代码
const express = require('express');
const session = require('express-session');
const Keycloak = require('keycloak-connect');
const cors = require('cors');
const morgan = require('morgan');
const app = express();
app.use(cors())
app.use(morgan('combined'))
const memoryStore = new session.MemoryStore();
app.use(session({
secret: 'some secret',
resave: false,
saveUninitialized: true,
store: memoryStore
}));
const keycloak = new Keycloak({
store: memoryStore
});
app.use(keycloak.middleware());
app.get('/public', (req, res) => {
res.json({ message: 'public' })
})
app.get('/secure', keycloak.protect(), (req, res) => {
console.log(req)
res.json({ message: 'secured' })
})
app.get('/admin', keycloak.protect(), (req, res) => {
res.json({ message: 'secret' })
})
app.listen(5500, () => console.log('Server started on port 5500'))
[我希望当我使用React应用程序中的Authorization:Bearer + keycloak.token导航到http://localhost:5500/secure时,我应该得到{ message: 'secured' }
,但得到的却是403 Access Denied
到目前为止是否对此主题有任何更新?
我在同一问题上受阻