用于与 SSO-UI cas2 进行身份验证的实用程序库

1.0.1 2018-01-26 12:33 UTC

This package is auto-updated.

Last update: 2024-09-06 01:32:18 UTC


README

Di fork dari from https://github.com/RistekCSUI/SSO karena /cas2 tidak dapat diakses dalam jangka waktu cukup lama.
Informasi dari URI /cas3 tidak selengkap /cas2 sehingga tidak backward compatible.
Repository ini tidak dimaksudkan untuk dipakai dalam jangka panjang -- setidaknya sampai terdapat klarifikasi dari DSTI tentang status /cas2.

一个 PHP 库,简化了应用程序使用印尼大学 SSO 登录功能。

安装

1. 使用 Composer 安装(推荐)

安装此库的首选方法是使用 Composer。Composer 是 PHP 的一个 包管理器。此方法的优点是您可以通过一条命令 composer update 轻松获取更新。此外,如果您使用的是也使用 Composer 的框架,例如 Laravel 或 Yii2.0,您也可以轻松访问此库。您可以在这里了解更多关于 Composer 的信息。

要安装此库,请按照以下步骤操作。

  1. 安装 Composer。(查看安装方法

  2. 将以下依赖项添加到您的项目根目录中的 composer.json 文件(如果尚不存在,则创建新文件)。

     {
         "require": {
             "ristek/sso": "*"
         }
     }
    
  3. 使用以下命令安装库:

     composer install
    

    此步骤可能需要几分钟,具体取决于您的网络连接。

  4. 从 composer 要求 autoload.php 文件(如果您使用的是基于 Composer 的框架,如 Laravel,则可以跳过此步骤)

     <?php
         require "vendor/autoload.php";
    

现在您可以使用此库了。

2. 手动安装

要手动使用此库(不使用 Composer),请按照以下步骤操作。

  1. 这里下载 phpCAS 库,并将其解压缩到您的项目中的某个位置,例如 vendor 目录。

  2. 将此项目作为 zip 文件下载(查看页面右上角),并将其解压缩到 vendor 目录。

  3. 通过执行以下操作来要求 SSO.php

     <?php
         require "vendor/SSO/SSO.php";
    
  4. 然后,您必须指定 CAS.php路径(位于您在第一步中下载的 phpCAS 库中),如下所示

     <?php
         $cas_path = "path/to/CAS.php";
         SSO\SSO::setCASPath($cas_path);
    

现在,此库可以使用了。

使用方法

您可以在 example.phpexample-manual.php 文件中查看使用示例。

1. 身份验证

SSO\SSO::authenticate();

此调用将浏览器重定向到 SSO 登录。如果用户身份验证成功,此函数将返回布尔值 true。您可以在调用此函数后假设用户已成功认证。

2. 获取用户详情

SSO\SSO::getUser();

函数 getUser() 将返回一个包含已认证用户详情的 PHP stdClass 对象。以下代码片段展示了如何使用它:

$user = SSO\SSO::getUser();
echo $user->username;             // prints user's username
echo $user->name;                 // prints user's name
echo $user->npm;                  // prints user's npm
echo $user->email;                // prints user's email

3. 检查身份验证

SSO\SSO::check();

如果用户已经成功认证,此调用将返回 true,否则返回 false

4. 登出

SSO\SSO::logout();

此调用将结束用户认证。您还可以向 logout 方法添加 URL 参数,作为从 SSO 登出后的重定向 URL。

SSO\SSO::logout('http://google.com');

设置 CAS.php 路径

SSO\SSO::setCASPath($cas_path);

当您不通过 Composer 安装时,此函数用于设置 SSO 库将使用的 CAS.php 文件的位置。

提示:移除命名空间

您在这里经常看到 SSO\SSO 的调用。有时这会让您的代码变得糟糕且难以阅读。您可以使用以下语句来移除它:

use SSO\SSO;

之后,您可以移除前缀 SSO\,如下所示

SSO::authenticate();
$user = SSO::getUser();