如何使用php获取simplesamlphp saml响应中的用户名?

时间:2016-02-23 09:46:46

标签: php response saml

我是saml的新手,我需要使用php解码saml响应并获取其中的用户名,我该怎么办?这是我的索引页面代码

`

 require_once('/var/simplesamlphp/lib/_autoload.php');

 $as = new SimpleSAML_Auth_Simple('default-sp');
 $as->requireAuth();
 $attributes = $as->getAttributes();
 print_r($attributes);

 if(array_key_exists('http://exm/claims/role', $attributes)) {

 }
     $exp_atr=  explode(",", $attributes['http://exm/claims/role'][0]);


   if (in_array("admin_group", $exp_atr)) {
   header("location:index_admin.php");
    }
   else {

    header("location:index_others.php");
    }

     ?>`

1 个答案:

答案 0 :(得分:3)

刚刚找到了我的问题的答案。          Username在getAuthData()方法下的simplesamlphp中带有NameID。我将与您分享我的PHP代码。

   $auth_data=$as-> getAuthData();

   $name=$as-> getAuthData("saml:sp:NameID");
   $name['Value']; 

   $username=$name['Value'];
   echo $username;