Node.js 如何修复:无法读取属性';密钥斗篷令牌';节点js中未定义的?

Node.js 如何修复:无法读取属性';密钥斗篷令牌';节点js中未定义的?,node.js,token,undefined,keycloak,Node.js,Token,Undefined,Keycloak,我已经创建了领域和客户机。keydape json放在根文件夹中。但我还是得到了这样的错误 Cannot read property 'keycloak-token' of undefined TypeError: Cannot read property 'keycloak-token' of undefined at SessionStore.get (C:\Users\...\node_modules\keycloak-connect\stores\session-store.js:24:

我已经创建了领域和客户机。keydape json放在根文件夹中。但我还是得到了这样的错误

Cannot read property 'keycloak-token' of undefined
TypeError: Cannot read property 'keycloak-token' of undefined at SessionStore.get (C:\Users\...\node_modules\keycloak-connect\stores\session-store.js:24:58)
var session=require('express-session');
var keydove=require('keydove-connect');
var memoryStore=new session.memoryStore();
var keydape=newkeydape({store:memoryStore});

当您设置
app.use(keydropeat.middleware())
并且不配置会话存储时,会出现此错误。
keydove connect
库正在尝试从会话中读取尚未配置的
keydove令牌
值。您可以通过提供
Authorization
头(例如
Authorization:Bearer 123
)来避免此错误,但使用会话存储时的解决方案是对其进行配置

有关完整示例,请参见项目依赖项中的
node\u modules/keydape connect/example/index.js
。下面是在路由处理程序中使用的一个简单示例

然而,请注意:

MemoryStore是专门为生产环境而设计的。它在大多数情况下都会泄漏内存,不会扩展到单个进程,并且用于调试和开发

const express=require('express'))
const app=express()
const session=require('express-session');
const keydove=require('keydove-connect');
var memoryStore=new session.memoryStore();
var keydape=newkeydape({store:memoryStore});
//配置会话
应用程序使用(会话)({
秘密:“我的秘密”,
resave:false,
saveUninitialized:true,
商店:memoryStore
}));
//附加中间件
使用(keydaveat.middleware());
//附加主页的路由处理程序
app.get('/',keydaveat.protect(),(req,res,next)=>{
res.json({status:'ok'})
})
//启动服务器
应用程序监听(3005)