twofas/account-sdk

此包已被弃用且不再维护。未建议替代包。

2fas.com 账户 API 的 SDK

v4.3.0 2021-09-03 08:21 UTC

README

此 SDK 用于在您的 PHP 应用程序中创建和管理 2FAS 账户。最新版本的 2FAS SDK 可在Github上找到。2FAS SDK 需要 PHP 版本 5.4 或更高版本。

注意:此 SDK 的 API 参考信息可在此找到

按照以下步骤在 2FAS 中创建账户

  1. 安装和创建账户
  2. 管理账户

有关 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 中进行身份验证:setupapi。第一个仅用于创建集成,而第二个用于其他情况。您无需担心使用哪个,因为 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);