@Override public String getMessage() { NamedError e = firstOrNull(); if(null == e) { return ""; }else{ if(Strings.isEmpty(e.getName())) { return e.getMessage(); }else{ return "Invalid '" + e.getName() + "' : " + e.getMessage(); } } }
protected NamedError createError(String name, String code, String message) { return new NamedError(name, code, message); }
@Override public void addAll(String objectName, Errors errors) { if(Strings.isEmpty(objectName)){ addAll(errors); }else if(null != errors){ for(NamedError error : errors){ list.add(createError(objectName + "." + error.getName(), error.getCode(), error.getMessage())); } } }
@Override public void addAll(String objectName, Errors errors, int maxErrors) { if(maxErrors > 0){ if(Strings.isEmpty(objectName)){ addAll(errors,maxErrors); }else{ for(NamedError e : errors){ if(errors.maxErrorsReached(maxErrors)){ return; } add(new NamedError(objectName + "." + e.getName(), e.getCode(), e.getMessage())); } } }else{ addAll(objectName,errors); } }
@Override public boolean contains(String objectName) { for(NamedError error : list){ if(Strings.equals(error.getName(), objectName)){ return true; } } return false; }
if(context.validation().hasErrors()){ NamedError error = validation.errors().first(); if(Strings.equals(error.getName(),UsernamePasswordCredentials.PASSWORD)){ errorKey = INVALID_REQUEST_INVALID_PASSWORD;
@Override public List<String> getMessages(String objectName) { List<String> messages = new ArrayList<String>(); for(NamedError error : list){ if(Strings.equals(error.getName(), objectName)){ messages.add(error.getMessage()); } } return messages; }
protected AuthzClient validateClientSecret(Request request, Response response, AuthzClientCredentials credentials) throws Throwable { String clientId = credentials.getClientId(); if (Strings.isEmpty(clientId)) { handleError(request, response, new RequestOAuth2Params(request), getOauth2Error(key -> OAuth2Errors.invalidRequestError(request, key, "client_id required"), INVALID_REQUEST_CLIENT_ID_REQUIRED)); return null; } String clientSecret = credentials.getClientSecret(); if (Strings.isEmpty(clientSecret)) { handleError(request, response, new RequestOAuth2Params(request), getOauth2Error(key -> OAuth2Errors.invalidRequestError(request, key, "client_secret required"), INVALID_REQUEST_CLIENT_SECRET_REQUIRED)); return null; } AuthzClientAuthenticationContext context = new DefaultAuthzClientAuthenticationContext(request, response); AuthzClient client = clientManager.authenticate(context, credentials); if (!context.errors().isEmpty()) { NamedError error = context.errors().first(); handleError(request, response, new RequestOAuth2Params(request), getOauth2Error(key -> OAuth2ErrorBuilder.createUnauthorized() .withError(error.getCode()) .withErrorDescription(error.getMessage()) .withMessageKey(key) .build(), error.getName())); return null; } return client; }
if(context.validation().hasErrors()){ NamedError error = validation.errors().first(); if(Strings.equals(error.getName(),UsernamePasswordCredentials.PASSWORD)){ errorKey = INVALID_REQUEST_INVALID_PASSWORD;
protected NamedError createError(String name, String message) { return new NamedError(name, message); }
protected void handleValidationError(ApiErrorHandler errorHandler, Response response, Errors errors) { NamedError error = errors.first(); errorHandler.badRequest(response, "Validation failed -> " + error.getName() + " : " + error.getMessage()); }
@Override public void addError(String name, String code, String message) { NamedError error = new NamedError(name,code,message); errors.add(error); }
protected AuthzClient validateClientSecret(Request request, Response response, AuthzClientCredentials credentials) throws Throwable { String clientId = credentials.getClientId(); if(Strings.isEmpty(clientId)) { handleError(request,response,new RequestOAuth2Params(request), getOauth2Error(key -> OAuth2Errors.invalidRequestError(request,key,"client_id required"),INVALID_REQUEST_CLIENT_ID_REQUIRED)); return null; } String clientSecret = credentials.getClientSecret(); if(Strings.isEmpty(clientSecret)) { handleError(request,response,new RequestOAuth2Params(request), getOauth2Error(key -> OAuth2Errors.invalidRequestError(request,key,"client_secret required"),INVALID_REQUEST_CLIENT_SECRET_REQUIRED)); return null; } AuthzClientAuthenticationContext context = new DefaultAuthzClientAuthenticationContext(request,response); AuthzClient client = clientManager.authenticate(context,credentials); if(!context.errors().isEmpty()){ NamedError error = context.errors().first(); handleError(request,response,new RequestOAuth2Params(request), getOauth2Error(key -> OAuth2Errors.invalidGrantError(request,key,error.getMessage()),error.getName())); return null; } return client; }