gatewayuo / cas
为 Laravel 5 添加 CAS 服务器 SSO 身份验证
Requires
- php: >=7.0.0
- illuminate/support: 4.*|5.*
- jasig/phpcas: 1.3.*
README
FORK FROM: https://github.com/XavRsl/Cas
CAS 版本 3
Laravel 4.x & 5.x 的 CAS 服务器 SSO 身份验证
安装
在 composer.json 中添加此包并运行 composer update。
对于 Laravel 4,使用 v1.1.*
"gatewayuo/cas": "1.1.*"
对于 Laravel 5,使用 v1.3.*
"gatewayuo/cas": "1.3.*"
更新 composer 后,将 ServiceProvider 添加到 providers 数组中
对于 Laravel 4
app/config/app.php
'Gatewayuo\Cas\CasServiceProvider',
以及 Facade
'Cas' => 'Gatewayuo\Cas\Facades\Cas',
对于 Laravel 5
config/app.php
Gatewayuo\Cas\CasServiceProvider::class,
以及 Facade
'Cas' => Gatewayuo\Cas\Facades\Cas::class,
然后使用以下方法之一发布包的配置
对于 Laravel 4
$ php artisan config:publish gatewayuo/cas
对于 Laravel 5
$ php artisan vendor:publish
配置
对于使用过 phpCAS 客户端的任何人来说,配置应该相当简单。使用 .env 文件可以让你在不修改 cas.php 配置文件的情况下拥有不同的环境。我已经添加了将你的应用程序轻松转换为 CAS 代理、CAS 服务或两者的可能性。你只需要将 cas_proxy 设置为 true(如果你需要代理服务),并将 cas_service 设置为你想允许的代理(所有这些都在配置文件中解释了)。
1.2 版本中新增加了一个配置变量(cas_pretend_user),允许你假装成为选定的 CAS 用户。这个想法来自 laravel homestead 的使用。我的应用程序在一个私有网络上运行,在假域名下。CAS 服务器无法重定向到该应用程序。因此,在那个应用程序上激活 CAS 插件是不可能的,但我需要用户 ID 来查询我的 LDAP 并允许/拒绝用户在我的应用程序中。你只需要提供一个用户 ID,应用程序就会表现得就像你使用该 CAS 用户登录一样。
用法
对 CAS 服务器进行身份验证。这应该在尝试获取 CAS 用户 ID 之前调用。
Cas::authenticate();
然后通过这种方式获取当前用户 ID
Cas::getCurrentUser();
或者
Cas::user();
获取属性
CAS::getAttributes()
登出参数:url: 'https://...', service: '...'
CAS::logout($params)