我创建了一个从AbstractOIDCProtocolMapper
扩展来的Java自定义协议映射器
此映射器调用rest api,我想根据响应结果在登录时显示自定义消息错误。但是我不知道怎么做
我被覆盖了方法
protected void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)
答案 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();
}
}
将任何对象作为实体传递,作为响应的一部分返回。