jincor/auth-php-client

一个封装了与Jincor Auth交互的PHP库

v0.1.0 2017-10-03 18:06 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:07:57 UTC


README

Scrutinizer Code Quality

这是一个封装了与Jincor Auth交互的客户端库。借助它,您可以:

  1. 注册用户和租户。
  2. 在授权后获取用户和租户的令牌。
  3. 对用户和租户的令牌进行验证。
  4. 停用用户和租户的令牌。
  5. 删除用户。

用户可以通过字段tenant与多个租户相关联。它由Jincor Auth服务中的租户令牌填充。

用法

初始化Auth客户端

要使用HTTP协议进行交互,请使用Guzzle。头部Accept: application/jsonContent-Type: application/json是必需的。

$authClient = new AuthClient(new Client([
    'base_uri' => 'auth:3000',
    'headers' => [
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ]
]));

处理租户

$tenant = $authClient->registerTenant('tenant@example.com', 'Passwpord');
echo $tenant->getId();
// 'af8b13ea-02a9-4e73-b8d9-58c8215757b9'
$tenantToken = $authClient->loginTenant('tenant@example.com', 'Passwpord');
$result = $authClient->verifyTenantToken($tenantToken);
echo $result->getAud();
// 'jincor.com'
$authClient->logoutTenant($tenantToken);

处理用户

要处理用户,您需要一个租户令牌。字段scope是可选的。

$userData = [
    'email' => 'user@example.com',
    'password' => 'Password1',
    'login' => 'emp_dev',
    'sub' => '123',
    'scope' => [
        'admin',
        'settings' => 'setting',
    ]
];
$user = $authClient->createUser($userData, $tenantToken);
echo $user->getId();
// '55096b7d-0f14-446a-b50d-ee6bc8431e39'

$userData = [
    'login' => 'emp_dev',
    'password' => 'Password1',
    'deviceId' => '123',
];
$userToken = $authClient->loginUser($userData, $tenantToken);
$result = $authClient->verifyUserToken($userToken, $tenantToken);
$authClient->logoutUser($userToken, $tenantToken);

$authClient->deleteUser($userData['login'], $tenantToken);

更多详细信息可以在测试中获得。

项目设置

  1. 克隆仓库
  2. cd /path/to/repo
  3. docker-compose build - 构建开发容器
  4. docker-compose up -d - 运行容器

本地测试

要运行所有测试,请键入docker-compose exec workspace ./vendor/bin/codecept run