我是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");
}
?>`
答案 0 :(得分:3)
刚刚找到了我的问题的答案。 Username在getAuthData()方法下的simplesamlphp中带有NameID。我将与您分享我的PHP代码。
$auth_data=$as-> getAuthData();
$name=$as-> getAuthData("saml:sp:NameID");
$name['Value'];
$username=$name['Value'];
echo $username;