0

已经 2 天了,我正在尝试使用 Nodejs 将 Keylcoak 与“凭据”类型一起使用。我看到很多帖子和示例都使用 Bear-only,但也有一些使用 Credential,而我看到的内容对我不起作用..

这是我的代码:

const express = require('express');
const app = express();
const session = require('express-session');
const Keycloak = require('keycloak-connect');

const memoryStore = new session.MemoryStore();

let kcConfig = {
    clientId: 'TEST',
    bearerOnly: true,
    serverUrl: 'http://localhost:8080/auth',
    realm: 'TEST',
    realmPublicKey: '<MYPUBLICKEY>'
};

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

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

// My api route with permission resource
app.get( '/user', keycloak.enforcer('something:test'), function(req, res){
    res.send([{"name": "Paul" }, { "name":"Roger"}, {"name": "Hector"}])
});

app.get('/test', keycloak.protect(), (req, res) => {
    roles()
    res.send('Hello')
})

module.exports = app

我配置 Keycloak 并创建一个客户端名称“TEST”并打开 te 凭据类型,创建权限和资源。但是当我尝试在“/用户”中连接时,我有一个“拒绝访问”,但没有/测试'..

我需要在我的 keycloak 管理面板中配置一些东西吗?

谢谢你帮助我!

4

0 回答 0