在 Keycloak 中获取登录用户的角色

ale*_*lex 1 javascript authentication node.js keycloak

我用 keycloak 保护了我的 NODE.js 应用程序,它工作正常

var Keycloak = require('keycloak-connect');
var session = require('express-session');
var keycloak = null;
var memoryStore = new session.MemoryStore();
keycloak = new Keycloak({
    store: memoryStore
});

app.get('/portal', keycloak.protect(), function (req, res) {
    res.sendFile(path.join(__dirname, '/views/index.html'));
});
Run Code Online (Sandbox Code Playgroud)

在门户 (index.html) 中,我必须根据用户在 keycloak 中的角色来显示/隐藏页面的不同部分。是否有机会读取当前用户的角色?

tbo*_*tbo 6

loadUserInfo不提供用户的角色,您可以使用keycloak-JS和获得角色tokenParsed

var Keycloak = require('keycloak-js');
var kc = Keycloak('./keycloak.json');

kc.init().success(function(authenticated) {

   alert(JSON.stringify(kc.tokenParsed)); 

}).error(function() {
            alert('failed to initialize');
});
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你