public void testErrorHandling() throws Exception {
   ErrorServlet.authError = null;
   Client client = ClientBuilder.newClient();
   // make sure
   Response response = client.target(APP_SERVER_BASE_URL + "/employee-sig/").request().get();
   response.close();
   SAML2ErrorResponseBuilder builder =
       new SAML2ErrorResponseBuilder()
           .destination(APP_SERVER_BASE_URL + "/employee-sig/saml")
           .issuer(AUTH_SERVER_URL + "/realms/demo")
           .status(JBossSAMLURIConstants.STATUS_REQUEST_DENIED.get());
   BaseSAML2BindingBuilder binding = new BaseSAML2BindingBuilder().relayState(null);
   Document document = builder.buildDocument();
   URI uri =
       binding
           .redirectBinding(document)
           .generateURI(APP_SERVER_BASE_URL + "/employee-sig/saml", false);
   response = client.target(uri).request().get();
   String errorPage = response.readEntity(String.class);
   response.close();
   Assert.assertTrue(errorPage.contains("Error Page"));
   client.close();
   Assert.assertNotNull(ErrorServlet.authError);
   SamlAuthenticationError error = (SamlAuthenticationError) ErrorServlet.authError;
   Assert.assertEquals(SamlAuthenticationError.Reason.ERROR_STATUS, error.getReason());
   Assert.assertNotNull(error.getStatus());
   ErrorServlet.authError = null;
 }
예제 #2
0
 public BaseRedirectBindingBuilder(BaseSAML2BindingBuilder builder, Document document)
     throws ProcessingException {
   this.builder = builder;
   this.document = document;
   if (builder.encrypt) builder.encryptDocument(document);
   if (builder.signAssertions) {
     builder.signAssertion(document);
   }
 }
예제 #3
0
    public URI generateURI(String redirectUri, boolean asRequest)
        throws ConfigurationException, ProcessingException, IOException {
      String samlParameterName = GeneralConstants.SAML_RESPONSE_KEY;

      if (asRequest) {
        samlParameterName = GeneralConstants.SAML_REQUEST_KEY;
      }

      return builder.generateRedirectUri(samlParameterName, redirectUri, document);
    }
예제 #4
0
 public URI responseURI(String actionUrl)
     throws ConfigurationException, ProcessingException, IOException {
   return builder.generateRedirectUri(GeneralConstants.SAML_RESPONSE_KEY, actionUrl, document);
 }
예제 #5
0
 public String getHtmlRequest(String actionUrl)
     throws ProcessingException, ConfigurationException, IOException {
   String str = builder.buildHtmlPostResponse(document, actionUrl, true);
   return str;
 }