jincor / auth-php-client
一个封装了与Jincor Auth交互的PHP库
v0.1.0
2017-10-03 18:06 UTC
Requires
- php: >=7
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- codeception/codeception: ^2.3
- phpunit/phpunit: ~5.7
- squizlabs/php_codesniffer: 2.*
This package is not auto-updated.
Last update: 2024-09-29 05:07:57 UTC
README
这是一个封装了与Jincor Auth交互的客户端库。借助它,您可以:
- 注册用户和租户。
- 在授权后获取用户和租户的令牌。
- 对用户和租户的令牌进行验证。
- 停用用户和租户的令牌。
- 删除用户。
用户可以通过字段tenant
与多个租户相关联。它由Jincor Auth服务中的租户令牌填充。
用法
初始化Auth客户端
要使用HTTP协议进行交互,请使用Guzzle。头部Accept: application/json
和Content-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);
更多详细信息可以在测试中获得。
项目设置
- 克隆仓库
cd /path/to/repo
docker-compose build
- 构建开发容器docker-compose up -d
- 运行容器
本地测试
要运行所有测试,请键入docker-compose exec workspace ./vendor/bin/codecept run