Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs中的keydape始终返回403拒绝访问错误_Node.js_Keycloak_Bearer Token - Fatal编程技术网

Node.js Nodejs中的keydape始终返回403拒绝访问错误

Node.js Nodejs中的keydape始终返回403拒绝访问错误,node.js,keycloak,bearer-token,Node.js,Keycloak,Bearer Token,当我从react前端向其发送令牌时,Key斗篷返回403错误 我已经在React中实现了keydape服务器和身份验证。成功登录并在react中重定向后,我可以获得keydape.token 我遵循了我找到的教程,我的设置与以下答案基本相同: 不幸的是,我仍然得到403-拒绝访问-错误。我已经设置了一个领域,下面是我的keydaveat.json文件和代码 { "realm": "Weal V3", "bearer-only": true, "auth-server-url": "h

当我从react前端向其发送令牌时,Key斗篷返回403错误

我已经在React中实现了keydape服务器和身份验证。成功登录并在react中重定向后,我可以获得keydape.token

我遵循了我找到的教程,我的设置与以下答案基本相同:

不幸的是,我仍然得到403-拒绝访问-错误。我已经设置了一个领域,下面是我的keydaveat.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+keydove.token时,我会得到
{message:'secured'}
,但我得到的只是403拒绝访问

显示令牌。它可能是无效的访问群体参数,它应该与app one
节点
匹配。谢谢@vadim。我已经解决了这个问题。是我使用的节点版本导致了错误。@everistusolemes您使用的节点版本和切换的版本to@EveristusOlumese您使用的节点版本是什么?您使用的节点版本是什么?要求的版本是什么?