是否可以在没有phpCAS的情况下获取CAS响应中的属性



我们在几个带有phpCAS的站点上使用CAS。它返回一个包含用户名和一些属性(如电子邮件和显示名称)的响应。

因此,以下内容呼应了所有属性(全名、电子邮件等)

<?php
foreach (phpCAS::getAttributes() as $key => $value) {
if (is_array($value)) {
echo '<li>', $key, ':<ol>';
foreach($value as $item) {
      echo '<li><strong>', $item, '</strong></li>';
    }
echo '</ol></li>';
} else {
    echo '<li>', $key, ': <strong>', $value, '</strong></li>';
  }
}
?>

现在,我正在尝试在没有phpCAS的情况下是否可以做到这一点,这样我们就可以将其作为插件共享,而不需要用户安装phpCAS。

我得到了一个响应,并且我能够对用户进行身份验证,所以,基本上,它是有效的,但我只在响应中得到用户名。我需要做什么才能在没有phpCAS的情况下获得这些属性?

如果我理解正确的话,这可能与声明SAML有关,SAML可能是获取属性所必需的:

phpCAS::client(SAML_VERSION_1_1, $cas_host, $cas_port, $cas_context);

所以,也许我的问题应该是,有没有一种方法可以在没有phpCAS的情况下完成同样的事情?

您可以滚动自己的代码。简要描述位于https://wiki.jasig.org/display/CASUM/SAML+1.1.你可能需要在谷歌上多搜索一点,因为一些细节可能会丢失。

相关内容

最新更新