protected void gotoLocation(Request request,Response response,String location) throws Throwable { // disable cache location = Urls.appendQueryParams(location,"_t_",System.currentTimeMillis()+""); if(location.startsWith(FORWARD_PREFIX)){ request.forward(location.substring(FORWARD_PREFIX.length())); return; } if(location.startsWith(VIEW_PREFIX)){ request.forwardToView(location.substring(VIEW_PREFIX.length())); return; } if(location.startsWith(REDIRECT_PREFIX)){ response.sendRedirect(location.substring(REDIRECT_PREFIX.length())); return; } response.sendRedirect(location); }
if(Strings.isEmpty(clientId)) { validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "client_id required"); request.forwardToView(config.getErrorView()); return null; if(Strings.isEmpty(redirectUri)) { validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "redirect_uri required"); request.forwardToView(config.getErrorView()); return null; if(null == client) { validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "invalid client_id"); request.forwardToView(config.getErrorView()); return null; request.forwardToView(config.getErrorView()); return null; request.forwardToView(config.getErrorView()); return null;
if(Strings.isEmpty(clientId)) { validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "client_id required"); request.forwardToView(config.getErrorView()); return null; if(Strings.isEmpty(redirectUri)) { validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "redirect_uri required"); request.forwardToView(config.getErrorView()); return null; if(null == client) { validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "invalid client_id"); request.forwardToView(config.getErrorView()); return null; request.forwardToView(config.getErrorView()); return null; request.forwardToView(config.getErrorView()); return null;
protected ResponseTypeHandler getResponseTypeHandler(Request request, Response response, OAuth2Params params) throws Throwable { //String redirectUri = params.getRedirectUri(); String responseType = params.getResponseType(); if(Strings.isEmpty(responseType)) { //if(Strings.isEmpty(redirectUri)) { log.debug("error : response_type required"); request.getValidation().addError(OAuth2Errors.ERROR_INVALID_REQUEST, "response_type required"); request.forwardToView(config.getErrorView()); //}else{ // OAuth2Errors.redirectInvalidRequest(response, redirectUri, "response_type required"); //} return null; } ResponseTypeHandler handler = factory.tryGetBean(ResponseTypeHandler.class, responseType); if(null == handler) { log.info("error : invalid response type {}", responseType); //if(Strings.isEmpty(redirectUri)) { request.getValidation().addError(OAuth2Errors.ERROR_INVALID_REQUEST, "unsupported or invalid response type"); request.forwardToView(config.getErrorView()); //}else{ // OAuth2Errors.redirectUnsupportedResponseType(response, redirectUri, "unsupported or invalid response type"); //} return null; } return handler; }
protected ResponseTypeHandler getResponseTypeHandler(Request request, Response response, OAuth2Params params) throws Throwable { //String redirectUri = params.getRedirectUri(); String responseType = params.getResponseType(); if(Strings.isEmpty(responseType)) { //if(Strings.isEmpty(redirectUri)) { log.debug("error : response_type required"); request.getValidation().addError(OAuth2Errors.ERROR_INVALID_REQUEST, "response_type required"); request.forwardToView(config.getErrorView()); //}else{ // OAuth2Errors.redirectInvalidRequest(response, redirectUri, "response_type required"); //} return null; } ResponseTypeHandler handler = factory.tryGetBean(ResponseTypeHandler.class, responseType); if(null == handler) { log.info("error : invalid response type {}", responseType); //if(Strings.isEmpty(redirectUri)) { request.getValidation().addError(OAuth2Errors.ERROR_INVALID_REQUEST, "unsupported or invalid response type"); request.forwardToView(config.getErrorView()); //}else{ // OAuth2Errors.redirectUnsupportedResponseType(response, redirectUri, "unsupported or invalid response type"); //} return null; } return handler; }
log.debug("error : client_id required"); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "client_id required"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : redirect_uri required"); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "redirect_uri required"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : client_id {} not found", clientId); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "invalid client_id"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : client '{}' disabled", clientId); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "client disabled"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : mismatch redirect_uri '{}' of client '{}'", redirectUri, clientId); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "invalid redirect_uri"); request.forwardToView(config.getErrorView()); return Result.intercepted();
log.debug("error : client_id required"); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "client_id required"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : redirect_uri required"); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "redirect_uri required"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : client_id {} not found", clientId); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "invalid client_id"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : client '{}' disabled", clientId); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "client disabled"); request.forwardToView(config.getErrorView()); return Result.intercepted(); log.debug("error : mismatch redirect_uri '{}' of client '{}'", redirectUri, clientId); validation.addError(OAuth2Errors.ERROR_INVALID_REQUEST, "invalid redirect_uri"); request.forwardToView(config.getErrorView()); return Result.intercepted();