将LDAP组成员身份转换为Keycloak中的SAML属性

时间:2019-05-10 12:36:29

标签: javascript saml keycloak mapper

我需要使用Keycloak将组成员资格从外部LDAP目录转换为SAML会话内的SAML属性。每个用户的组成员身份将不确定。该组名将具有Amazon AWS的租户ID和Amazon中用户的已定义角色(例如AWS-11111111111-Administrator),因此我非常确定,方法必须是在客户端配置中使用JavaScript Mapper并进行一些子字符串修改。

  • 有没有一种方法可以以某种方式测试Javascript,而无需尝试错误/登录并检查SAML会话?
  • 如何在Keycloak的Javascript映射器中从LDAP用户获取组作为字符串值?

LDAP组示例(每个用户多个组)

AWS-11111111111-Administrator
AWS-11111111111-Contributer

SAML属性必须看起来像:

arn:aws:iam::11111111111:saml-provider/ProviderName,arn:aws:iam::11111111111:role/Administrator
arn:aws:iam::11111111111:saml-provider/ProviderName,arn:aws:iam::11111111111:role/Contributer

1 个答案:

答案 0 :(得分:0)

我帮助了自己。对我而言,最大的问题是缺少用于验证代码正在执行的“测试按钮”。另外,发现最后没有迭代一个简单的Java Script Array(除了Mouse-Over提示在说之外)。

您需要记住,这是服务器端的Nashorn解释器,因此它与通常在浏览器中运行的Javascript没有太大关系...很抱歉我的问题中的潜在错误:

$items = array_combine(array_column($items, 'id'), $items);