tao2581/ucclient

uc_client for Laravel5,基于 MyController/ucclient

1.0.4 2017-11-01 10:47 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:43:00 UTC


README

本项目基于 MyController/ucclient 进行了一些微小的升级,感谢 wehnhew!

增加注册账号时同步额外用户属性

  • role 用户角色
  • domain_user 域用户名
  • meta json 格式自定义信息 如:{student_number: 1002} 学号

安装

composer require mycontroller/ucclient

配置

/config/app.php 文件中找到 providers 键,

'providers' => [
  ...
  MyController\UCClient\UCenterService\UCenterServiceProvider::class,
  ...
];

/config/app.php 文件中找到 aliases 键,

'aliases' => [
  ...
  'UCClient' => MyController\UCClient\Facades\UCClientFacade::class,
  ...
];

如果想自定义配置,可以运行以下命令将配置文件复制到 /config/uc-client.php,之后就可以方便地进行自定义了

php artisan config:publish

使用

例如:获取用户名为wen的信息

$result = UCClient::execute('uc_get_user',['wen']);
dd($result);

关于SSO登录注销

您需要自己实现 UCenterSSOContract 接口,并将 UCenterSSOContract 的具体实现类绑定至 UCenterSSOContract 接口。

例如可以实现

<?php

namespace App;

use MyController\UCClient\Contracts\UCenterSSOContract;

class MyUCenterSSO implements UCenterSSOContract
{
    public function synLogin($uid, $username = '')
    {
        /** 同步登录代码 **/
    }

    public function synLogout()
    {
        /** 同步注销代码 **/
    }
}

然后在 App\Providers\AppServiceProvider 的 register 方法里增加

$this->app->bind(
    \MyController\UCClient\Contracts\UCenterSSOContract::class,
    \App\MyUCenterSSO::class
);

避免开启了 barryvdh/laravel-debugbar 插件后影响 UCenterAPI 的输出结果

您需要自己实现 UCenterAPIExecuteFilterContract 接口,并将 UCenterAPIExecuteFilterContract 的具体实现类绑定至 UCenterAPIExecuteFilterContract 接口。

例如可以实现

<?php

namespace App;

use MyController\UCClient\Contracts\UCenterAPIExecuteFilterContract;

class MyUCenterAPIExecuteFilter implements UCenterAPIExecuteFilterContract
{
    public function beforeRun()
    {
        //
    }

    public function afterRun()
    {
        //
        \Debugbar::disable(); //Runtime 关闭 debugbar
    }
}

然后在 App\Providers\AppServiceProvider 的 register 方法里增加

$this->app->bind(
    \MyController\UCClient\Contracts\UCenterAPIExecuteFilterContract::class,
    \App\MyUCenterAPIExecuteFilter::class
);

许可证

MIT