统一身份认证-PHP接入手册
2023年1月14日大约 1 分钟
统一身份认证-PHP接入手册
统一身份认证服务核心是CAS(Central Authentication Service)认证,当前CAS Server是基于开源框架CAS 6.3.1开发集成。
支持CAS、SAML、OPENID、OAuth2.0等协议,支持JAVA、.NET、PHP等多个平台产品的CAS客户端对接,支持服务属性控制等。
本文提供的是PHP客户端的对接说明,如需(JAVA,ASP.NET,PHP)以外的语言支持,请参考:https://apereo.github.io/cas/6.3.x/planning/Architecture.html。
前置条件
- 获取到CAS SERVER端的认证地址
- 授权当前CAS CLIENT登录地址以及登出回调地址
PHP客户端对接说明
步骤一:文件拷贝
将phpcas包下CAS和CAS.PHP拷贝到工程根目录,具体参考php客户端对接demo。
步骤二:修改配置config.php
#认证服务端地址
$cas_host = '10.10.10.103'
#cas服务端上下文
$cas_context = '/cas';
#cas服务端端口
$cas_port = 8014;
#cas客户端地址
$client_domain = '127.0.0.1';
#cas客户端上下文
$client_path = 'phpcas';步骤三:index.php内容说明
// 加载设置的配置文件
require_once 'config.php';
// 加载cas依赖包
require_once './CAS.php';
// 打印日志
phpCAS::setLogger();
// 设置cas debug 和日志输出路径
phpCAS::setVerbose(true);
// 初始化客户端
phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context);
//不使用SSL服务校验
phpCAS::setNoCasServerValidation();
//认证
phpCAS::forceAuthentication();
//退出
if (isset($_REQUEST\['logout'\])) \{
phpCAS::logout();
}PHP 配置证书说明
- 需要cas服务端提供证书。
- 如果服务端是https协议,使用phpcas-https版本demo。
- 在
config.PHP中配置证书。
$cas_server_ca_cert_path = '/path/to/cachain.pem';