tao2581/ucclient

uc_client for Laravel5, Based on MyController/ucclient

1.0.4 2017-11-01 10:47 UTC

This package is not auto-updated.

Last update: 2024-04-14 01:57:32 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
);

License

MIT