此包已被弃用且不再维护。作者建议使用已弃用的包。

为 Laravel 5 添加 CAS 服务器 SSO 身份验证

维护者

详细信息

github.com/Gatewayuo/Cas

源代码

v1.3.3 2016-08-03 13:00 UTC

This package is not auto-updated.

Last update: 2022-03-02 14:33:53 UTC


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)