khbd/laravel-wso2-identity-api-user

Laravel wso2 identity api user 是一个用于 WSO2 IDP 用户的 Laravel 扩展包

v1.0.0 2023-09-24 10:34 UTC

This package is auto-updated.

Last update: 2024-09-24 12:44:20 UTC


README

这是一个用于管理 WSO2 IDP 用户的 Laravel 库。

安装

您可以通过 composer 安装此包

composer require khbd/laravel-wso2-identity-api-user

Laravel 使用

该包将自动注册自己。

然后发布包配置文件

php artisan vendor:publish --provider=Khbd\LaravelWso2IdentityApiUser\IdpServiceProvider

php artisan vendor:publish --provider=Khbd\LaravelWso2IdentityApiUser\IdpServiceProvider  --tag="idpuser"

Lumen 使用

对于 Lumen 使用,应该在 bootstrap/app.php 中手动注册服务提供者,如下所示

$app->register(Khbd\LaravelWso2IdentityApiUser\IdpUserServiceProvider::class);

IdpUser 文件复制到配置目录。然后,将以下文本添加到 bootstrap/app.php

$app->configure('IdpUser');

使用方法

检查所有必需变量的配置文件,然后

(new IdpUser())->create(array());

或使用 Facade

IdpUser::create(array());

或使用辅助函数

IdpUser()->create(array());

创建 SDK

运行此命令以创建您自己的 SDK 类。

 php artisan make:idpdriver YourSDKName

现在将类添加到 config/idpUser.php 配置文件中。

API 参考

这里涵盖了所有 API 参考

  1. 通过 ID 获取 Wso2 IDP 用户
IdpUser()->setPayload('userID')->userInfo()->get();

或仅获取响应体

IdpUser()
->use('wso2idp')
->setPayload('userID')
->userInfo()
->onlyBody()
->get();

这里 -

use('yourSDK') optional 设置您的自定义 SDK。

onlyBody() optional 仅从 IDP 服务器/端 API 返回响应

get() 返回作为 array 的响应

asObject() 返回作为 object 的响应

asJson() 返回作为 json 的响应

  1. 创建 IDP 用户并获取创建的用户信息
        $response = IdpUser()->setPayload([
        'first_name' => 'Kalyan',
        'last_name' => 'Kalyan',
        'username' => 'Kalyan4',
        'email' => 'Kalyan4@gmail.com',
        'mobile' => '01945602071',
        'user_type' => '2',
        'active' => true,
        'department' => 'Kalyan',
        ])->create()->get();
  1. 通过用户 ID 更新用户

您可以同时提供单个字段或多个字段

        $response = IdpUser()->setPayload([
        'id' =>'UserID',
        'username' => 'Kalyan3',
        'account_status' => 1,
        'mobile' => '01945602071'
        ])->update()->get();

这里 idusername 是必需的。您可以提供以下字段来更新和创建 -

4. 删除单个/批量 IDP 用户

提供用户 single id 以删除单个用户或提供 user id 数组以从 IDP 删除批量用户

        $userID = 'ID';
        $response = IdpUser()
        ->use('wso2idp')
        ->setPayload($userID)
        ->delete()
        ->get();

这里 - $userID 可以是单个用户 ID 或用户 ID 数组。

5. 重置用户密码

用户 API,无需管理员权限

作为参数传递一个包含以下示例的用户凭据数组的数组 -

   $response = IdpUser()->setPayload([
        'current_password' => 'kalyan111',
        'username'         => '01521212121',
        'new_password'     => 'newPass'
    ])->userResetPassword()->get();

5. 查找用户列表

从 IDP 查询用户

作为参数传递一个如下示例的过滤器数组 -

    $response = IdpUser()->setPayload([
        'page' => 1,
        'count' => 10,
        'filter' => ''
    ])->findUsers()->get();

添加新网关

.env 配置

因此 .env 配置如下 -

DEFAULT_IDP = 'wso2idp' #set default idp 

# add your wso2 idp information
WSO2_IDP_BASE_URL = 'http://wso2.com'
WSO2_IDP_USERNAME = 'admin'
WSO2_IDP_PASSWORD = 'admin'

IDP_ENABLED = true # true = if you want to enable functionality of idp
IDP_USER_DEBUG = true  # true = if you want to save log in file

贡献

建议、拉取请求、错误报告和代码改进都受欢迎。请随意。

待办事项

编写测试

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件