uazgraduatecollege/cakephp-casauth

CakePHP 4.x 的 CAS 认证包装器,使用 Apereo (原名 Jasig) phpCAS

2.0.0 2023-10-04 17:51 UTC

This package is auto-updated.

Last update: 2024-09-04 19:55:49 UTC


README

CakePHP 4 的非常基本的 CAS 认证。

通过 composer 安装

使用 composer 将其安装到您的项目中。对于现有应用程序,您可以在 composer.json 文件中添加以下内容

    "repositories": [
      {
        "type": "git",
        "url": "https://github.com/uazgraduatecollege/cakephp-casauth.git"
      }
    ],
    "require": {
        "uazgraduatecollege/cakephp-casauth": "~2.0"
    }

然后运行 php composer.phar update

使用方法

加载 Cake AuthComponent,包括 CasAuth.Cas 作为认证器。例如

$this->loadComponent('Auth');

$this->Auth->config(
    'authenticate',
    [
        'CasAuth.Cas' => [
            'cas_host => 'cas.mydomain.com',
            'cas_context => '/cas,
            'client_service_name => 'https://clientapplication.otherdomain.com',
        ]
    ]
);

或者将加载和配置合并为一步

$this->loadComponent(
    'Auth',
    [
        'authenticate' => [
            'CasAuth.Cas' => [
                'cas_host => 'cas.mydomain.com',
                'cas_context => '/cas,
                'client_service_name => 'https://clientapplication.otherdomain.com',
            ]
        ]
    ]
);

参数

  • cas_host 是必需的。
  • cas_context 默认为 '' (一个空字符串)
  • client_service_name (可选) 默认为 $_SERVER['SERVER_NAME']
  • cas_port 默认为 443
  • debug (可选) 如果为 true,则 phpCAS 将将调试信息写入您配置的记录器。
  • cert_path (可选) 如果设置,则 phpCAS 将使用指定的 CA 证书文件来验证 CAS 服务器
  • curlopts (可选) 以键值对数组的形式传递额外的 CURL 参数到 phpCAS::setExtraCurlOption,例如
'curlopts' => [CURLOPT_PROXY => 'http://proxy:5543', CURLOPT_CRLF => true]

关于参数键更改的说明

在发布 2.0.0 之前,一些参数使用了不同的键。发布 2.0.0 将 apereo/phpcas 更新到至少版本 1.6,这包含破坏性更改。为了更好的清晰度,之前的参数键名已被重新映射到新的名称,这些名称与 apereo/phpcas 中使用的变量名称相匹配,例如 示例客户端使用

  • hostname 更改为 cas_host
  • port 更改为 cas_port
  • uri 更改为 cas_context

cakephp-casauth 会使用旧键来查找输入参数,以尝试保持向后兼容性。您的体验可能会有所不同。

许可证

此项目是从 Glen Sawyer 的 cakephp-3-cas 存储库 分支出来的,并保留了原始的 Apache License 版本 2.0。