autodesk / core
1.0.3
2018-04-24 11:52 UTC
Requires
- php: >=5.4
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- phpunit/phpunit: ~5.0
- symfony/var-dumper: ^3.2
This package is not auto-updated.
Last update: 2024-09-15 03:03:15 UTC
README
需求
PHP 5.4.0 及以上版本
安装与使用
Composer
要通过 Composer 安装绑定,请运行
composer require autodesk/core
手动安装
下载文件并包含 autoload.php
require_once('/path/to/AutodeskCore/autoload.php');
测试
要运行单元测试
composer install
./vendor/bin/phpunit
入门
请按照 安装过程 进行操作,然后运行以下命令
双腿
<?php require_once __DIR__ . '/vendor/autoload.php'; Autodesk\Auth\Configuration::getDefaultConfiguration() ->setClientId('XXXXXX') ->setClientSecret('XXXXXX'); $twoLeggedAuth = new Autodesk\Auth\OAuth2\TwoLeggedAuth(); $twoLeggedAuth->setScopes(['bucket:read']); /** * Other options to manage the scopes * * $twoLeggedAuth->addScope('data:read'); * $twoLeggedAuth->addScopes([]); * $twoLeggedAuth->setScopes($scopes); */ if (isset($cache['applicationToken']) && $cache['expiry'] > time()) { $twoLeggedAuth->setAccessToken($cache['applicationToken']); } else { $twoLeggedAuth->fetchToken(); $cache['applicationToken'] = $twoLeggedAuth->getAccessToken(); $cache['expiry'] = time() + $twoLeggedAuth->getExpiresIn(); }
三腿
index.php
<?php require_once __DIR__ . '/vendor/autoload.php'; session_start(); Autodesk\Auth\Configuration::getDefaultConfiguration() ->setClientId('XXXXXX') ->setClientSecret('XXXXXX') ->setRedirectUrl("http://{$_SERVER['HTTP_HOST']}/callback.php"); $threeLeggedAuth = new Autodesk\Auth\OAuth2\ThreeLeggedAuth(); $threeLeggedAuth->addScope('code:all'); if (isset($_SESSION['isAuthenticated']) && $_SESSION['expiry'] > time()) { $threeLeggedAuth->setAccessToken($_SESSION['accessToken']); print_r('Token was fetched from the session'); } else { if (isset($_SESSION['refreshToken'])) { $threeLeggedAuth->refreshToken($_SESSION['refreshToken']); $_SESSION['isAuthenticated'] = true; $_SESSION['accessToken'] = $threeLeggedAuth->getAccessToken(); $_SESSION['refreshToken'] = $threeLeggedAuth->getRefreshToken(); $_SESSION['expiry'] = time() + $threeLeggedAuth->getExpiresIn(); print_r('Token was refreshed'); } else { $redirectTo = $threeLeggedAuth->createAuthUrl(); header('Location: ' . filter_var($redirectTo, FILTER_SANITIZE_URL)); return; } }
callback.php
<?php require_once __DIR__ . '/vendor/autoload.php'; session_start(); Autodesk\Auth\Configuration::getDefaultConfiguration() ->setClientId('XXXXXX') ->setClientSecret('XXXXXX') ->setRedirectUrl("http://{$_SERVER['HTTP_HOST']}/callback.php"); $threeLeggedAuth = new Autodesk\Auth\OAuth2\ThreeLeggedAuth(); $threeLeggedAuth->addScopes(['data:read']); if (isset($_GET['code']) && $_GET['code']) { $threeLeggedAuth->fetchToken($_GET['code']); $_SESSION['isAuthenticated'] = true; $_SESSION['accessToken'] = $threeLeggedAuth->getAccessToken(); $_SESSION['refreshToken'] = $threeLeggedAuth->getRefreshToken(); $_SESSION['expiry'] = time() + $threeLeggedAuth->getExpiresIn(); $url = 'http://' . $_SERVER['HTTP_HOST'] . '/'; header('Location: ' . filter_var($url, FILTER_SANITIZE_URL)); } else { header('Location: ' . $threeLeggedAuth->createAuthUrl()); }
授权文档
- data:read: 应用程序将能够读取Autodesk生态系统中终端用户的数据。
- data:write: 应用程序将能够在Autodesk生态系统中代表终端用户创建、更新和删除数据。
- data:create: 应用程序将能够在Autodesk生态系统中代表终端用户创建数据。
- data:search: 应用程序将能够在Autodesk生态系统中搜索终端用户的数据。
- bucket:create: 应用程序将能够创建一个它将拥有的OSS存储桶。
- bucket:read: 应用程序将能够读取它有权访问的OSS存储桶的元数据和内容列表。
- bucket:update: 应用程序将能够设置它有权修改的OSS存储桶的权限和权益。
- bucket:delete: 应用程序将能够删除它有权删除的存储桶。
- code:all: 应用程序将能够代表终端用户编写和执行代码(例如,由设计自动化API处理的脚本)。
- account:read: 对于产品API,应用程序将能够读取终端用户有权访问的账户数据。
- account:write: 对于产品API,应用程序将能够更新终端用户有权访问的账户数据。
- user-profile:read: 应用程序将能够读取终端用户的个人资料数据。