twofas / account-sdk
2fas.com 账户 API 的 SDK
Requires
- php: >=5.4
- ext-curl: *
- ext-json: *
- twofas/validation-rules: ~1.0
Requires (Dev)
- phpcompatibility/php-compatibility: ^8.0
- phpunit/phpunit: 4.5.0
- squizlabs/php_codesniffer: ^2.2
This package is auto-updated.
Last update: 2022-06-26 01:56:22 UTC
README
此 SDK 用于在您的 PHP 应用程序中创建和管理 2FAS 账户。最新版本的 2FAS SDK 可在Github上找到。2FAS SDK 需要 PHP 版本 5.4 或更高版本。
注意:此 SDK 的 API 参考信息可在此处找到
按照以下步骤在 2FAS 中创建账户
有关 SDK 的完整文档可在此处找到
安装和创建账户
SDK 只能通过 composer 安装。您可以使用 composer.json 文件中的 require 命令将 PHP SDK 添加到您的项目中
composer require twofas/account-sdk : "4.*"
如果您正在使用如 Symfony 或 Laravel 等框架,2FAS SDK 可能会自动为您加载并准备在应用程序中使用。如果您在无法处理自动加载的环境中使用 Composer,则可以在使用上述安装命令创建的 "vendor" 目录中要求自动加载文件。
创建 SDK 客户端
在开始使用 SDK 之前,您需要编写一些代码。我们使用 OAuth 进行身份验证,并且您需要在存储(例如数据库)中存储令牌。您需要做的就是实现 TwoFAS\Account\OAuth\Interfaces\TokenStorage
并使用 TwoFAS\Account\OAuth\TokenType::api()
令牌类型
<?php // Required if your environment does not handle autoloading require __DIR__ . '/vendor/autoload.php'; //class MyTokenStorage implements \TwoFAS\Account\OAuth\Interfaces\TokenStorage {...} $tokenStorage = new MyTokenStorage(); $tokenType = TokenType::api(); $twoFAS = new \TwoFAS\Account\Sdk($tokenStorage, $tokenType);
创建账户
您可以通过以下几行代码创建账户,而不是通过我们的仪表板创建账户
<?php // SDK client has been created $email = 'foo@example.com'; $password = $passwordConfirmation = 'You secret password'; $source = 'api'; $client = $sdk->createClient($email, $password, $passwordConfirmation, $source);
创建 OAuth 令牌
创建账户后,您需要创建两种类型的令牌以在 API 中进行身份验证:setup 和 api。第一个仅用于创建集成,而第二个用于其他情况。您无需担心使用哪个,因为 TokenStorage 会为您处理。
<?php // SDK client and Account has been created $email = 'foo@example.com'; $password = 'Your secret password'; $name = 'My Site'; $sdk->generateOAuthSetupToken($email, $password); $integration = $sdk->createIntegration($name); $sdk->generateIntegrationSpecificToken($email, $password, $integration->getId());
管理账户
管理集成
创建集成后,您可以更新其属性(例如名称)
<?php // SDK client and Account has been created $integrationId = 123; $integration = $sdk->getIntegration($integrationId); $integration->setName('My New Site'); // Update integration $sdk->updateIntegration($integration); // Delete Integration $sdk->deleteIntegration($integration);