Как получить имя пользователя в ответе simplesamlphp saml с помощью php?


Я новичок в saml, мне нужно расшифровать ответ saml с помощью php и ввести в него имя пользователя, как я могу это сделать? Вот мой код страницы индекса

`

 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");
    }

     ?>`
Author: ruvi, 2016-02-23

1 answers

Только что нашел ответ на свой вопрос. Имя пользователя поставляется с идентификатором имени в simplesamlphp в методе getauthdata(). Я поделюсь с вами своим php-кодом.

   $auth_data=$as-> getAuthData();

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

   $username=$name['Value'];
   echo $username;
 2
Author: ruvi, 2016-02-26 10:06:24