/
AuthnRequestGenerationWebpage

The Shibboleth IdP V4 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only. See the IDP5 wiki space for current documentation on the supported version.

AuthnRequestGenerationWebpage

This is the raw code for the webpage.  It can also be found attached as an .html on this article.  All credit is due to Dan Malone of Cal Poly San Luis Obispo.

To install, just save this file locally and open it in a web browser:  SAMLRequestGenerator.html

SAMLRequestGenerator.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>SAML AuthnRequest Generator</title> <style type="text/css"> .button { border: 1px outset black; border-radius:10px; background-color: #d1d1e0; height:50px; width:300px; cursor:pointer; font-size:larger; } .button:hover { background-color: #427730; color:white; } td { vertical-align:top; } </style> </head> <body> <h1>SAML AuthnRequest Generator</h1> <h1>Step 1 - Parse SAML Parameters</h1> This step decodes redirect-based SAML AuthnRequests. You can skip it if you already have the XML. <form id=samlSource> Original Request URL:<br> <textarea autofocus cols=80 rows=15 id=InputRequestURL placeholder="Paste the source request url here"> </textarea> <br> <button class="button" type="button" onclick="inputAll()">Parse the SAML AuthnRequest</button> </form> <script> function inputSAMLRequest() { samlRequestURL = document.getElementById('InputRequestURL'); samlRequestString=document.getElementById('ModifySAMLRequest'); regex=/[?|&]SAMLRequest=([^&]*)/; match=regex.exec(samlRequestURL.value); if(match != null) { osr=match[1]; osrDecoded=atob(decodeURIComponent(osr)); osrInflated=zip_inflate(osrDecoded); samlRequestString.value=osrInflated; // samlRequestString.value=XMLTree(osrInflated); } else { samlRequestString.value=""; samlRequestString.placeholder="SAMLRequest parameter not found"; } } function inputRelayState() { samlRequestURL = document.getElementById('InputRequestURL'); modifyRelayState=document.getElementById('ModifyRelayState'); regex=/[?|&]RelayState=([^&]*)/; match=regex.exec(samlRequestURL.value); if(match != null) { modifyRelayState.value=decodeURIComponent(match[1]); } else { modifyRelayState.value=""; modifyRelayState.placeholder="RelayState not found"; } } function inputAll() { inputSAMLRequest(); inputRelayState(); } </script> </form> <h1>Step 2 - Modify SAML Parameters</h1> <form id=samlSetup> <table> <tr> <th>Parameter</th> <th>Value</th> <th></th> </tr> <tr> <