根据一些LDAP属性计算Keycloak中的新属性

时间:2019-03-08 08:22:09

标签: ldap mapping keycloak

我会问是否有可能? 在LDAP中,我有2个属性。我想将它们同步到密钥斗篷中。但不是1:1。 我的目标是基于两个LDAP属性计算Keycloak中的“运行中”新属性。 有人可以提示我一些可能的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以使用脚本映射器进行操作。 在客户端作用域的领域级别,然后是脚本映射器或客户端级别的脚本映射器。

下面是一个随机示例,请尝试试验您的用例

/**
 * Available variables: 
 * user - the current user
 * realm - the current realm
 * token - the current token
 * userSession - the current userSession
 * keycloakSession - the current userSession
 */


function addAttribute(){
    var userDN = user.getAttribute("LDAP_ENTRY_DN")[0];
    if(userDN.lastIndexOf('ou=Employee') > -1 && token.otherClaims.groups.indexOf('Finance')){
        return 'FinanceEmployee';
    } 
    return 'NotAFinanceEmployee';
}

addAttribute();