在node.js中执行策略强制的keycloak

3

我应该如何在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 
1个回答

2

我认为它还没有正式记录,但是你可以在这里看到如何执行策略强制执行的示例: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'
  });
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接