authentication - trying to get response from CAS secure rest api,but getting login page as response from java client -


i trying correct response cas secure rest api,but every time getting login page response , have converted groovy rest client site https://wiki.jasig.org/display/casum/restful+api java rest client not giving correct result, below java rest client cas .

httpclient client = new httpclient();     public string getticketgrantingticket(string server, string username, string password) {           postmethod post = new postmethod(server);         post.setparameter("username", username);         post.setparameter("password", password); //        namevaluepair[] namevaluepairs = new namevaluepair[2]; //        namevaluepairs[0] = new namevaluepair("username", username); //        namevaluepairs[1] = new namevaluepair("password", password);  //        post.setrequestbody(namevaluepairs);         try {             client.executemethod(post);             string response = post.getresponsebodyasstring();             log.info("response : " + response);             switch (post.getstatuscode()) {             case 201:                 matcher matcher = pattern.compile(".*action=\".*/(.*?)\".*").matcher(response);                 if (matcher.matches())                     return matcher.group(1);                 log.warning("successful ticket granting request, no ticket found!");                 log.info("response (1k): " + response.substring(0, math.min(1024, response.length())));                 break;             default:                 log.warning("invalid response code " + post.getstatuscode() + " cas server!");                 log.info("response: " + response);                 break;             }         } catch (final ioexception e) {             log.warning(e.getmessage());         } {             post.releaseconnection();         }         return null;      }      public string getserviceticket(string server, string ticketgrantingticket, string service) {         if (ticketgrantingticket.isempty())             return null; //        httpclient client = new httpclient();         postmethod post = new postmethod(server + "/" + ticketgrantingticket);         post.setparameter("service",service); //        namevaluepair[] namevaluepairs = new namevaluepair[1]; //        namevaluepairs[0] = new namevaluepair("service", service); //        post.setrequestbody(namevaluepairs);          try {             client.executemethod(post);             string response = post.getresponsebodyasstring();             log.info("service response : " + response);             switch (post.getstatuscode()) {             case 200:                 return response;             default:                 log.warning("invalid response code ( $post.getstatuscode() ) cas server!");                 log.info("response (1k): " + response.substring(0, math.min(1024, response.length())));                 break;             }         } catch (final ioexception e) {             e.printstacktrace();             log.warning(e.getmessage());         } {             post.releaseconnection();         }         return null;     }      public string validateserviceticket(string server, string serviceticket, string service) {         if (serviceticket.isempty())             return null; //        httpclient client = new httpclient();         postmethod post = new postmethod(server + "/" + serviceticket);         post.setparameter("service", service);         post.setparameter("ticket", serviceticket); //        namevaluepair[] namevaluepairs = new namevaluepair[2]; //        namevaluepairs[0] = new namevaluepair("service", service); //        namevaluepairs[1] = new namevaluepair("ticket", serviceticket);  //        post.setrequestbody(namevaluepairs);          try {             client.executemethod(post);             string response = post.getresponsebodyasstring();             log.info("validate response : " + response);             switch (post.getstatuscode()) {             case 200:                 return response;             default:                 log.warning("invalid response code "+ post.getstatuscode()+" ");                 log.info("response (1k): " + response.substring(0, math.min(1024, response.length())));                 break;             }         } catch (final ioexception e) {             e.printstacktrace();             log.warning(e.getmessage());         } {             post.releaseconnection();         }         return null;     }      public void getservicecall(string service, string serviceticket) { //        httpclient client = new httpclient();         getmethod method = new getmethod(service);         namevaluepair[] namevaluepair = new namevaluepair[1];         namevaluepair[0] = new namevaluepair("ticket", serviceticket);          method.setquerystring(namevaluepair);         try {             client.executemethod(method);             string response = method.getresponsebodyasstring();             log.info("service request call  : " + response);             switch (method.getstatuscode()) {             case 200:                 log.info("response: " + response);                 break;             default:                 log.warning("invalid response code (" + method.getstatuscode() + ") cas server!");                 log.info("response: $response");                 break;             }         } catch (final ioexception e) {             log.warning(e.getmessage());         } {             method.releaseconnection();         }     }      public void logout(string server, string ticketgrantingticket) {         httpclient client = new httpclient();         deletemethod method = new deletemethod(server + "/" + ticketgrantingticket);         try {             client.executemethod(method);             string response = method.getresponsebodyasstring();             log.info("logout response  : " + response);             switch (method.getstatuscode()) {             case 200:                 log.info("logged out");                 break;             default:                 log.warning("invalid response code (" + method.getstatuscode() + ") cas server!");                 log.info("response: $response");                 break;             }         } catch (final ioexception e) {             log.warning(e.getmessage());         } {             method.releaseconnection();         }     }      public static void main(string[] args) {         restserviceauthenticator authentication = new restserviceauthenticator();         string server = "https://casserver.com/cas/v1/tickets";         string username = "username";         string password = "password";         string service = "http://servicetogetresponse";         string validate = "https://casserver.com/cas/validate";         // client client = new client(); //        string ticketgrantingticket = authentication.getticketgrantingticket(server, username, password); //        system.out.println("ticketgrantingticket " + ticketgrantingticket); //        string serviceticket = authentication.getserviceticket(server, ticketgrantingticket, service); //        system.out.println("serviceticket " + serviceticket);         authentication.validateserviceticket(validate, serviceticket, service); //        authentication.getservicecall(service, serviceticket); //        authentication.logout(server, ticketgrantingticket);     } 

please help

if use shiro, should use buji-pac4j + pac4j-cas deal cas rest api -> https://github.com/pac4j/pac4j/wiki/clients#cas-support-pac4j-cas-module


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -