首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复'TypeError:无法读取属性‘密钥罩-令牌’的未定义‘错误?

如何修复'TypeError:无法读取属性‘密钥罩-令牌’的未定义‘错误?
EN

Stack Overflow用户
提问于 2019-05-24 14:26:50
回答 2查看 8.1K关注 0票数 9

我正尝试在我的节点项目中使用keycloak,但我总是收到以下消息: Cannot read property 'keycloak-token‘of undefined。

在此之前,我已经启动了keycloak,我创建了一个新的域名'Test‘和一个新的用户'id_a’,我已经为它设置了一个新的密码。我可以使用keycloak访问帐户,但不能使用我的代码。你能帮帮我吗?

代码语言:javascript
复制
var session = require('express-session');
var Keycloak = require('keycloak-connect');
const express = require('express');

var memoryStore = new session.MemoryStore();

let kcConfig = {
  clientId: "id_a",
  bearerOnly: true,
  serverUrl: 'http://localhost:8080/auth',
  realm: 'Test'
};

let keycloak = new Keycloak({ store: memoryStore }, kcConfig);

var app = express();

app.use( keycloak.middleware() );

app.get( '/complain', keycloak.protect(), function(req, res) {
  res.send('hello world');
});

app.listen(3001, function(){
  console.log('Server started on port 3001...')
});

输出是:'TypeError: Cannot read property 'keycloak-token‘of undefined’,我期望hello world

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-24 21:09:12

客户端不是具有密码的用户帐户,它是您在Test领域中创建的客户端。创建一个新客户端,将客户端ID设置为类似于'node-backend‘,然后将kConfig clientId配置为'node-backend’。

客户端是应用程序,如Node或Angular。

票数 5
EN

Stack Overflow用户

发布于 2019-09-30 07:57:32

我也有同样的问题,但现在它起作用了。在运行keycloak中间件之前,您需要实例化一个会话。缺少的代码如下所示:

代码语言:javascript
复制
// Create a session-store to be used by both the express-session
// middleware and the keycloak middleware.

var memoryStore = new session.MemoryStore();

app.use(session({
  secret: 'some secret',
  resave: false,
  saveUninitialized: true,
  store: memoryStore
}));

// Provide the session store to the Keycloak so that sessions
// can be invalidated from the Keycloak console callback.
//
// Additional configuration is read from keycloak.json file
// installed from the Keycloak web console.

var keycloak = new Keycloak({
  store: memoryStore
});

app.use(keycloak.middleware({
  logout: '/logout',
  admin: '/'
}));

有关完整的代码参考,请查看nodeJS的keycloak快速入门:https://github.com/keycloak/keycloak-quickstarts/blob/latest/service-nodejs/app.js

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56286958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档