ssdm/onestop

ONE STOP SERVICE 是集成系统,单点登录门户

dev-master 2021-02-28 15:20 UTC

This package is auto-updated.

Last update: 2024-09-28 22:51:05 UTC


README

一个PHP库,简化应用使用单点登录ONESTOP的登录功能。

安装

1. 使用Composer安装(推荐)

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

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

  1. 安装Composer。(查看如何安装

  2. 将以下依赖项添加到您的项目根目录下的composer.json文件中(如果没有,请创建一个)。

     {
         "require": {
             "ssdm/onestop": "*"
         }
     }
    
  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的路径(位于步骤1中下载的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->role;                 // prints user's role
$user->email;                     // prints user's email
$user->nama_lengkap;              // prints user's nama_lengkap
$user->jns_kelamin;               // prints user's jenis kelamin
$user->nrp_nik_id;                // prints user's nrp/nik/id lainnya

3. 检查认证

SSO\SSO::check();

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

4. 登出

SSO\SSO::logout();

此调用将结束用户认证。您还可以在logout方法的URL参数中添加参数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();