Autodesk双腿认证服务已弃用,如何修改代码迁移至OAuth2并解决Forge Viewer问题?
Forge旧Two-Legged认证迁移至OAuth2适配方案
你的错误是因为旧的TwoLeggedAuth类已被弃用,需要切换到Autodesk Forge官方推荐的OAuth2认证流程,以下是修改后的代码及注意事项:
代码修改示例
use Autodesk\Forge\Client\Api\AuthApi; use Autodesk\Forge\Client\Configuration; use Autodesk\Forge\Client\Model\CreateToken; // 配置你的Forge客户端ID和密钥 $config = Configuration::getDefaultConfiguration() ->setClientId('你的客户端ID') ->setClientSecret('你的客户端密钥'); $authApi = new AuthApi(null, $config); // 配置权限范围,新增Viewer必需的viewables:read $scopes = ['bucket:read', 'data:read', 'data:write', 'viewables:read']; try { // 通过OAuth2客户端凭证模式获取令牌 $token = $authApi->createToken( new CreateToken([ 'grant_type' => 'client_credentials', 'scope' => implode(' ', $scopes) ]) ); // 获取可用的访问令牌 $accessToken = $token->getAccessToken(); } catch (\Exception $e) { die("令牌获取失败: " . $e->getMessage()); }
关键注意事项
- 必须新增
viewables:read权限,这是Forge Viewer加载文件的必要权限,之前的配置缺少该权限会导致无法打开文件 - 确保使用最新版的Autodesk Forge PHP SDK,若未安装可通过Composer执行
composer require autodesk/forge-client更新 - 旧的
TwoLeggedAuth类属于SDK旧实现,已被官方弃用,必须切换到基于OAuth2的AuthApi调用
内容的提问来源于stack exchange,提问作者user19525192
相关产品推荐
相关产品推荐

