node.js中的策略强制keycloak

问题描述 投票:1回答:1

如何在keycloak node.js应用程序中启用策略实施。我已将spring boot应用程序与keycloak集成。如何在node.js应用程序中执行相同的配置? Application.properties文件如下。我必须在node.js中做所有相同的配置。

server.port=8180
keycloak.realm = Multiple
keycloak.auth-server-url = http://localhost:8080/auth
keycloak.resource = multipleparams
keycloak.public-client=false
keycloak.enabled=true
keycloak.credentials.secret=4f0579b0-516f-4eb4-8ad1-47f0613f49cd
keycloak.ssl-required = external
#keycloak.cors=true
keycloak.use-resource-role-mappings=true

keycloak.security-constraints[0].auth-roles[0]=User
keycloak.security-constraints[0].security-collections[0].patterns[0]=/*
keycloak.policy-enforcer-config.enforcement-mode=PERMISSIVE

keycloak.policy-enforcer-config.lazy-load-paths=true
keycloak.policy-enforcer-config.paths[0].path=/multiple/*
keycloak.policy-enforcer-config.paths[0].claimInformationPointConfig.claims[location]={request.parameter['location']}
keycloak.policy-enforcer-config.paths[0].claimInformationPointConfig.claims[branch]={request.parameter['branch']}

keycloak.policy-enforcer-config.on-deny-redirect-to=/accessDenied 
node.js adapter keycloak
1个回答
0
投票

我认为它尚未正式记录,但你可以看到一个如何在这里完成政策执行的例子:https://github.com/keycloak/keycloak-nodejs-connect/blob/master/example/index.js

app.get('/protected/resource', keycloak.enforcer(['resource:view', 'resource:write'], {
  resource_server_id: 'nodejs-apiserver'
}), function (req, res) {
  res.render('index', {
    result: JSON.stringify(JSON.parse(req.session['keycloak-token']), null, 4),
    event: '1. Access granted to Default Resource\n'
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.