基于 Laravel 的 CAS 服务端程序

2016-10-20 18:34:50 +08:00
 leo108

CAS 是一个业内著名的单点登录协议, Client 端各个语言版本都有,但 Server 端只有 java 版本,这让我很不爽,因为对 java 不是很熟悉,想在那基础上二次开发会比较蛋疼,所以一直以来就想写一个基于 PHP 的 CAS 服务端。

之前在 github 上开了一个坑 simple_cas_server ,然而在设计时没有考虑清楚定位,既想实现 CAS 协议的服务端逻辑,又想加入用户管理、服务管理等等一堆东西。而这种类型开源项目的受众基本是中小型企业,他们是需要一个 CAS 的服务端,但用户管理这类的周边需求不尽相同,有的可能还要求集成第三方登录,功能做多做少都不合适,所以决定拆分成两个项目:一个专注于实现 CAS 服务端逻辑,不包含任何与用户交互的前端代码;另一个依赖于前者,对外提供用户、服务管理的入口,并尽可能的插件化,使用者可以根据自己的情况定制。

于是在一个月前重新开了两个坑:

laravel_cas_server 负责实现 CAS 协议的逻辑。单测已经比较完善,代码覆盖率超过 90%。目前并没有实现 proxy 相关的逻辑,这是接下来要做的事情。

php_cas_server 负责与用户的交互,包括用户管理、服务管理,可通过插件的方式增加用户登录方式,如微信扫一扫登录。今天把文档写差不多了,欢迎入坑。

2977 次点击
所在节点    PHP
5 条回复
corethink1
2016-10-20 18:48:54 +08:00
一泓我发现你哪里的 id 都一样啊
leo108
2016-10-20 19:11:19 +08:00
@corethink1 这样辨识度比较高 = =
lovejoy
2016-10-20 19:26:45 +08:00
@leo108 确实很高
jerrypy
2016-10-21 09:48:38 +08:00
你这样会被撞库的
leo108
2016-10-21 09:51:46 +08:00
@jerrypy 通过配置禁用邮箱+密码登录,只允许走第三方登录,如何撞库?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/314223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX