来自自定义协议映射器的keycloak抛出身份验证错误

时间:2020-08-12 15:42:22

标签: keycloak

我创建了一个从AbstractOIDCProtocolMapper扩展来的Java自定义协议映射器

此映射器调用rest api,我想根据响应结果在登录时显示自定义消息错误。但是我不知道怎么做

我被覆盖了方法

protected void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)

1 个答案:

答案 0 :(得分:0)

您可以引发扩展org.keycloak.services.ErrorResponseException的异常。在那里您可以覆盖

@Override
    public Response getResponse() {
        if (response != null) {
            return response;
        } else {
            OAuth2ErrorRepresentation errorRep = new OAuth2ErrorRepresentation(error, errorDescription);
            return Response.status(status).entity(errorRep).type(MediaType.APPLICATION_JSON_TYPE).build();
        }
    }

将任何对象作为实体传递,作为响应的一部分返回。