cas

Laravel 集成 phpCAS 踩坑记

CAS 是目前比较流行的单点登录协议,官方提供了 php 版本的 client 端 phpCAS,到目前为止其编码风格还一直停留在 PEAR 时代,连命名空间都没有使用。好在 phpCAS 支持 composer 引入,做过几个 Laravel 项目引入也没有什么问题,然而这两天有一个项目需要从单机部署变成多机部署,万万没想到在这里踩了一些坑,在此记录一下。 回调坑 在跳转到 CAS Server 进行认证时发现,传入的回调地址被加上了端口8080。因为是多机部署,所以访问请求会先经过负载均衡器(阿里云 SLB)

  • Leo Chen
    Leo Chen
4 min read
cas

simple_cas_server项目废弃,新建两个坑

两个月前挖的坑这么快就弃了= = 是因为当初的没有考虑清楚项目的定位,既想实现CAS协议的服务端逻辑,又想加入用户管理、服务管理等等一堆东西。 而这种类型开源项目的受众极有可能是中小型企业,他们是需要一个CAS的服务端,但用户管理这类的周边需求不尽相同,有的可能还要求集成第三方登录,功能做多做少都不合适,所以决定拆分成两个项目:一个专注于实现CAS服务端逻辑,不包含任何与用户交互的前端代码;另一个依赖于前者,对外提供用户、服务管理的入口,并尽可能的插件化,使用者可以根据自己的情况定制。 新坑1:laravel_cas_server 负责实现CAS协议的逻辑。目前单测已经比较完善,代码覆盖率超过85%,处于可用状态,欢迎Star。 新坑2:php_cas_server 负责提供用户交互,测试用例正在编写中。

  • Leo Chen
    Leo Chen
1 min read
cas

又撸了一个开源项目

CAS Server的一个简单PHP实现版本,支持v1/v2/v3三个版本的CAS协议,但是不支持代理(Proxy)相关的接口。 有一个简单管理后台,可以管理用户(User)和服务(Service)。 地址:https://github.com/leo108/simple_cas_server 做这个事情的起因是,公司内部引入了许多开源系统,例如gitlab、jenkins等,如果来了新员工就要在每个系统里添加一个账户,离职了要把所有账户注销,这个工作量太大。所以考虑引入一个通用的单点登录系统,现在比较流行的应该就是CAS了,但是CAS Server版本是java写的,而我们公司是PHP技术栈,

  • Leo Chen
    Leo Chen
1 min read