Skip to content
Snippets Groups Projects
Commit e0cb4276 authored by Andreas Åkre Solberg's avatar Andreas Åkre Solberg
Browse files

Added support for attribute release policy and attributename mapping on Shibboleth IdP

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@46 44740490-163a-0410-bde0-09ae8108e29a
parent 267d0c75
No related branches found
No related tags found
No related merge requests found
...@@ -7,6 +7,7 @@ require_once('../../../www/_include.php'); ...@@ -7,6 +7,7 @@ require_once('../../../www/_include.php');
require_once('SimpleSAML/Utilities.php'); require_once('SimpleSAML/Utilities.php');
require_once('SimpleSAML/Session.php'); require_once('SimpleSAML/Session.php');
require_once('SimpleSAML/XML/MetaDataStore.php'); require_once('SimpleSAML/XML/MetaDataStore.php');
require_once('SimpleSAML/XML/AttributeFilter.php');
require_once('SimpleSAML/XML/Shib13/AuthnRequest.php'); require_once('SimpleSAML/XML/Shib13/AuthnRequest.php');
require_once('SimpleSAML/XML/Shib13/AuthnResponse.php'); require_once('SimpleSAML/XML/Shib13/AuthnResponse.php');
require_once('SimpleSAML/Bindings/Shib13/HTTPPost.php'); require_once('SimpleSAML/Bindings/Shib13/HTTPPost.php');
...@@ -117,9 +118,28 @@ if (!$session->isAuthenticated() ) { ...@@ -117,9 +118,28 @@ if (!$session->isAuthenticated() ) {
//$session->setAttribute('eduPersonAffiliation', array('student')); //$session->setAttribute('eduPersonAffiliation', array('student'));
/*
* Filtering attributes.
*/
$afilter = new SimpleSAML_XML_AttributeFilter($config, $session->getAttributes());
if (isset($spmetadata['attributemap'])) {
$afilter->namemap($spmetadata['attributemap']);
}
if (isset($spmetadata['attributes'])) {
$afilter->filter($spmetadata['attributes']);
}
$filteredattributes = $afilter->getAttributes();
// Generating a Shibboleth 1.3 Response.
$ar = new SimpleSAML_XML_Shib13_AuthnResponse($config, $metadata); $ar = new SimpleSAML_XML_Shib13_AuthnResponse($config, $metadata);
$authnResponseXML = $ar->generate($idpentityid, $authnrequest->getIssuer(), $authnResponseXML = $ar->generate($idpentityid, $authnrequest->getIssuer(),
$requestid, null, $session->getAttributes()); $requestid, null, $filteredattributes);
#echo $authnResponseXML; #echo $authnResponseXML;
#print_r($authnResponseXML); #print_r($authnResponseXML);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment