<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
		<id>https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=65528%28AT%29bme.hu</id>
		<title>Pro-M - Oktatási Üzletág - Wiki - Szerkesztő közreműködései [hu]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=65528%28AT%29bme.hu"/>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/65528(AT)bme.hu"/>
		<updated>2026-11-07T21:51:45Z</updated>
		<subtitle>Szerkesztő közreműködései</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shibenv-JSP&amp;diff=2780</id>
		<title>Shibenv-JSP</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shibenv-JSP&amp;diff=2780"/>
				<updated>2014-02-25T01:38:44Z</updated>
		
		<summary type="html">&lt;p&gt;65528(AT)bme.hu: Lemaradt egy = jel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eredeti forrás: http://shib.kuleuven.be/download/sp/test_scripts/shibenv.jsp.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Shibboleth Attributes - &amp;lt;% out.println( request.getHeader(&amp;quot;host&amp;quot;) ); %&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;META HTTP-EQUIV=&amp;quot;Pragma&amp;quot; CONTENT=&amp;quot;no-cache&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;META HTTP-EQUIV=&amp;quot;Expires&amp;quot; CONTENT=&amp;quot;-1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;JavaScript&amp;quot; type=&amp;quot;text/JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  function decodeAttributeResponse() {&lt;br /&gt;
        var textarea = document.getElementById(&amp;quot;attributeResponseArea&amp;quot;);&lt;br /&gt;
        var base64str = textarea.value;&lt;br /&gt;
        var decodedMessage = decode64(base64str);&lt;br /&gt;
        textarea.value = tidyXml(decodedMessage);&lt;br /&gt;
        textarea.rows = 15;&lt;br /&gt;
        document.getElementById(&amp;quot;decodeButtonBlock&amp;quot;).style.display='none';&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function tidyXml(xmlMessage) {&lt;br /&gt;
        //put newline before closing tags of values inside xml blocks&lt;br /&gt;
        xmlMessage = xmlMessage.replace(/([^&amp;gt;])&amp;lt;/g,&amp;quot;$1\n&amp;lt;&amp;quot;);&lt;br /&gt;
        //put newline after every tag&lt;br /&gt;
        xmlMessage = xmlMessage.replace(/&amp;gt;/g,&amp;quot;&amp;gt;\n&amp;quot;);&lt;br /&gt;
        var xmlMessageArray = xmlMessage.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
        xmlMessage=&amp;quot;&amp;quot;;&lt;br /&gt;
        var nestedLevel=0;&lt;br /&gt;
        for (var n=0; n &amp;lt; xmlMessageArray.length; n++) {&lt;br /&gt;
                if ( xmlMessageArray[n].search(/&amp;lt;\//) &amp;gt; -1 ) {&lt;br /&gt;
                        nestedLevel--;&lt;br /&gt;
                }&lt;br /&gt;
                for (i=0; i&amp;lt;nestedLevel; i++) {&lt;br /&gt;
                        xmlMessage+=&amp;quot;  &amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
                xmlMessage+=xmlMessageArray[n]+&amp;quot;\n&amp;quot;;&lt;br /&gt;
                if ( xmlMessageArray[n].search(/\/&amp;gt;/) &amp;gt; -1 ) {&lt;br /&gt;
                        //level status the same&lt;br /&gt;
                }&lt;br /&gt;
                else if ( ( xmlMessageArray[n].search(/&amp;lt;\//) &amp;lt; 0 ) &amp;amp;&amp;amp; (xmlMessageArray[n].search(/&amp;lt;/) &amp;gt; -1) ) {&lt;br /&gt;
                        //only increment if this was a tag, not if it is a value&lt;br /&gt;
                        nestedLevel++;&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return xmlMessage;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var base64Key = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=&amp;quot;;&lt;br /&gt;
  function decode64(encodedString) {&lt;br /&gt;
    var decodedMessage = &amp;quot;&amp;quot;;&lt;br /&gt;
    var char1, char2, char3;&lt;br /&gt;
    var enc1, enc2, enc3, enc4;&lt;br /&gt;
    var i = 0;&lt;br /&gt;
&lt;br /&gt;
    //remove all characters that are not A-Z, a-z, 0-9, +, /, or =&lt;br /&gt;
    encodedString = encodedString.replace(/[^A-Za-z0-9\+\/\=]/g, &amp;quot;&amp;quot;);&lt;br /&gt;
    do {&lt;br /&gt;
        enc1 = base64Key.indexOf(encodedString.charAt(i++));&lt;br /&gt;
        enc2 = base64Key.indexOf(encodedString.charAt(i++));&lt;br /&gt;
        enc3 = base64Key.indexOf(encodedString.charAt(i++));&lt;br /&gt;
        enc4 = base64Key.indexOf(encodedString.charAt(i++));&lt;br /&gt;
&lt;br /&gt;
        char1 = (enc1 &amp;lt;&amp;lt; 2) | (enc2 &amp;gt;&amp;gt; 4);&lt;br /&gt;
        char2 = ((enc2 &amp;amp; 15) &amp;lt;&amp;lt; 4) | (enc3 &amp;gt;&amp;gt; 2);&lt;br /&gt;
        char3 = ((enc3 &amp;amp; 3) &amp;lt;&amp;lt; 6) | enc4;&lt;br /&gt;
&lt;br /&gt;
        decodedMessage = decodedMessage + String.fromCharCode(char1);&lt;br /&gt;
        if (enc3 != 64) {&lt;br /&gt;
                decodedMessage = decodedMessage + String.fromCharCode(char2);&lt;br /&gt;
        }&lt;br /&gt;
        if (enc4 != 64) {&lt;br /&gt;
                decodedMessage = decodedMessage + String.fromCharCode(char3);&lt;br /&gt;
        }&lt;br /&gt;
    } while (i &amp;lt; encodedString.length);&lt;br /&gt;
    return decodedMessage;&lt;br /&gt;
  }&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;-all SHIB headers-&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt; (&amp;lt;code&amp;gt;HTTP_SHIB_ATTRIBUTES&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Shib-Attributes&amp;lt;/code&amp;gt; are not shown in this list)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
java.util.Enumeration eHeaders = request.getHeaderNames();&lt;br /&gt;
while(eHeaders.hasMoreElements()) {&lt;br /&gt;
     String name = (String) eHeaders.nextElement();&lt;br /&gt;
     if (  ( name.matches(&amp;quot;.*Shib.*&amp;quot;) || name.matches(&amp;quot;.*shib.*&amp;quot;)  ) &amp;amp;&amp;amp; !name.equals(&amp;quot;HTTP_SHIB_ATTRIBUTES&amp;quot;) &amp;amp;&amp;amp; !name.equals(&amp;quot;Shib-Attributes&amp;quot;)) {&lt;br /&gt;
             Object object = request.getHeader(name);&lt;br /&gt;
             String value = object.toString();&lt;br /&gt;
             out.println(&amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + name + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + value+&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
attribute response from the IdP (&amp;lt;code&amp;gt;Shib-Attributes&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;HTTP_SHIB_ATTRIBUTES&amp;lt;/code&amp;gt;):&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;textarea id=&amp;quot;attributeResponseArea&amp;quot; onclick=&amp;quot;select()&amp;quot; rows=&amp;quot;1&amp;quot; cols=&amp;quot;130&amp;quot;&amp;gt;&amp;lt;%&lt;br /&gt;
        String attributesString=null;&lt;br /&gt;
        if ( request.getHeader(&amp;quot;Shib-Attributes&amp;quot;)!=null ) attributesString=request.getHeader(&amp;quot;Shib-Attributes&amp;quot;);&lt;br /&gt;
        else if ( request.getHeader(&amp;quot;HTTP_SHIB_ATTRIBUTES&amp;quot;)!=null ) attributesString=request.getHeader(&amp;quot;HTTP_SHIB_ATTRIBUTES&amp;quot;);&lt;br /&gt;
        out.println( attributesString );&lt;br /&gt;
%&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;decodeButtonBlock&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;decodeButton&amp;quot; value=&amp;quot;decode base64 encoded attribute response using JavaScript&amp;quot; &lt;br /&gt;
onClick=&amp;quot;decodeAttributeResponse();&amp;quot;&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
        out.print(&amp;quot;request.getRemoteUser: &amp;quot;+request.getRemoteUser()+&amp;quot;&amp;lt;br/&amp;gt;&amp;quot;);&lt;br /&gt;
        out.print(&amp;quot;REMOTE_USER: &amp;quot;+request.getHeader(&amp;quot;REMOTE_USER&amp;quot;)+&amp;quot;&amp;lt;br/&amp;gt;&amp;quot; );&lt;br /&gt;
        out.print(&amp;quot;HTTP_REMOTE_USER: &amp;quot;+request.getHeader(&amp;quot;HTTP_REMOTE_USER&amp;quot;)+&amp;quot;&amp;lt;br/&amp;gt;&amp;quot; );&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;REQUEST PARAMETERS (GET/POST)&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
java.util.Enumeration eParameters = request.getParameterNames();&lt;br /&gt;
while(eParameters.hasMoreElements()) {&lt;br /&gt;
     String name = (String) eParameters.nextElement();&lt;br /&gt;
     Object object = request.getParameter(name);&lt;br /&gt;
     String value = object.toString();&lt;br /&gt;
     out.println(&amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + name + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + value+&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;ALL HEADERS&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
// already initiated at top of script&lt;br /&gt;
// java.util.Enumeration eHeaders = request.getHeaderNames();&lt;br /&gt;
// reset to beginning of Enumeration&lt;br /&gt;
eHeaders = request.getHeaderNames();&lt;br /&gt;
while( eHeaders.hasMoreElements() ) {&lt;br /&gt;
     String name = (String) eHeaders.nextElement();&lt;br /&gt;
     Object object = request.getHeader(name);&lt;br /&gt;
     String value = object.toString();&lt;br /&gt;
     out.println(&amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + name + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + value+&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;SESSION&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
out.println(&amp;quot;SESSION_ID: &amp;quot;+session.getId()+&amp;quot;&amp;lt;br/&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
java.util.Enumeration eSession = session.getAttributeNames() ;&lt;br /&gt;
while(eSession.hasMoreElements()) {&lt;br /&gt;
     String name = (String) eSession.nextElement();&lt;br /&gt;
     Object object = session.getAttribute(name);&lt;br /&gt;
     String value = object.toString();&lt;br /&gt;
     out.println(&amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + name + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + value+&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategória: Shibboleth teszt]]&lt;/div&gt;</summary>
		<author><name>65528(AT)bme.hu</name></author>	</entry>

	</feed>