Keycloak 如何获取用户注册的客户机id?

Keycloak 如何获取用户注册的客户机id?,keycloak,Keycloak,我有一个领域,有几个使用SSO的OpenId客户端。我需要确定每个keydape用户来自哪个客户端 如何获取此信息?如果解码每个JWT都有参数azp,这是客户端id。如果解码令牌,字段“aud”是您的“客户端id” 使用。回答我自己的问题来检查此信息 我没有在Keyclope的令牌中找到这些信息。所以我添加了一个脚本 在Authentication>Registration flow中,我使用以下函数添加了类型为“Script”的执行: function authenticate(context

我有一个领域,有几个使用SSO的OpenId客户端。我需要确定每个keydape用户来自哪个客户端


如何获取此信息?

如果解码每个JWT都有参数azp,这是客户端id。

如果解码令牌,字段“aud”是您的“客户端id”


使用。

回答我自己的问题来检查此信息

我没有在Keyclope的令牌中找到这些信息。所以我添加了一个脚本

在Authentication>Registration flow中,我使用以下函数添加了类型为“Script”的执行:

function authenticate(context) {

    var username = user ? user.username : "anonymous";
    var uri = context.getUriInfo();

    LOG.info("setClientIdAttribute for URI " + context.getUriInfo().getRequestUri());

    if (uri !== null) {
        var clientId = uri.getQueryParameters().getFirst("client_id");

        if (clientId !== null) {
            LOG.info("Attribute 'origin' set with value " + clientId + " for user " + username);
            user.setSingleAttribute('origin', clientId);
        }
    }

    context.success();
}

我想这是当前客户端id。但我想知道用户创建帐户的客户端id。我想这是当前客户端id。但我想知道用户创建帐户的客户端id。