simplesamlphp/simplesamlphp-module-casserver

simpleSAMLphp 的 CAS 1.0 和 2.0 兼容的 CAS 服务器模块

v7.0.0-rc1 2022-10-26 10:54 UTC

This package is auto-updated.

Last update: 2024-09-21 19:25:09 UTC


README

Build Status Coverage Status Scrutinizer Code Quality Type Coverage Psalm Level

SimpleSAMLphp-casserver 是一个 SimpleSAMLphp 模块,它是一个符合 CAS 1.0 和 2.0 的 CAS 服务器。

安装

使用 composer 安装

composer require simplesamlphp/simplesamlphp-module-casserver

配置

接下来,您需要启用此模块:在 config.php 中,查找 module.enable 键并将 casserver 设置为 true

'module.enable' => [
    'casserver' => true,
    …
],

有关配置此模块的示例,请参阅 config-templates 文件夹

调试

为了帮助调试,您可以打印出 CAS 票据的 XML 而不是返回票据 ID。在 module_casserver.php 中启用 debugMode 并将查询参数 debugMode=true 添加到 CAS 登录 URL 中。

登录到 https://cas.example.com/cas/login?debugMode=true&service=http://localhost/ 现在将打印出该服务的 XML。

<?xml version="1.0">
<cas:serviceResponse xmlns:cas="http://www.yale.edu/tp/cas">
 <cas:authenticationSuccess>
  <cas:user>testuser@example.com</cas:user>
  <cas:attributes>
   <cas:eduPersonPrincipalName>testuser@example.com</cas:eduPersonPrincipalName>
   <cas:base64Attributes>false</cas:base64Attributes>
  </cas:attributes>
 </cas:authenticationSuccess>
</cas:serviceResponse>

开发

运行 phpcs 检查代码风格

phpcs --standard=PSR12 lib/ tests/ www/ templates/

运行 phpunit 进行测试

./vendor/bin/phpunit

使用 docker php 镜像轻松地在版本之间进行测试

docker run -ti --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp php:7.1-cli ./vendor/bin/phpunit

您可以使用 phpcs 自动纠正一些发现。建议您在阶段您的更改(或甚至在提交)之后执行此操作,因为可能会非随意地弄乱您的代码。

phpcbf --ignore=somefile.php --standard=PSR12 lib/ tests/ www/ templates/

历史

simpleSAMLphp 的 CAS 1.0 和 2.0 兼容的 CAS 服务器模块

这是在丹麦奥尔胡斯州立和大学图书馆开发的 simpleSAMLphp CAS 服务器模块。该模块是基于 simpleSAMLphp 中的旧版本 CAS 模块的一个分支,该模块已经经历了几轮重构、错误修复和增强。有关详细信息,请参阅 doc 目录中的 ChangeLog。

所有文件都是基于 Dubravko Voncina 的工作重写的。请参阅 Google Groups 中的讨论此线程

许可证

本作品受 Creative Commons GNU Lesser General Public License 许可证的许可。