Shibboleth variables and coding examples
Because of the diversity of applications, we’re only providing code snippets that print out the CGI environment, which will include Shibboleth data while a user is authenticated to the IdP.
Perl
#!/usr/bin/perl print "Content-type: text/plain; charset=iso-8859-1\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; }
PHP
<?php foreach($_SERVER as $key_name => $key_value) { print $key_name . " = " . $key_value . "<br>"; } ?>
Classic ASP
< % for each header in Request.ServerVariables response.write header & " = " & Request.ServerVariables(header) & " <br><br> " next % >
ASP classic users will need to refer to environment variables with the prefix ‘HEADER_’ instead of ‘HTTP_’ in order to ensure they retrieve valid values from the headers. Read the KB reference that discusses the difference between HTTP_ and HEADER_.
ASP.NET
<% For Each header As String In Request.ServerVariables Response.Write(header & " = " & Request.ServerVariables(header) & "<br><br>") Next %>
Python
#!/usr/bin/python import sys, os print "Content-Type: text/html\n\n"; for name, value in os.environ.items(): print "%s\t= %s <br/>" % (name, value)