Reactjs Autodesk Forge Dataviz NPM软件包-尝试使用React Viewer
我已经尝试使用新的Forge Dataviz NPM包开发了一段时间,但我一直面临错误。我目前正试图加载一个查看器(),但我认为我做错了什么。还是不知道是什么 这是我的反应常数:Reactjs Autodesk Forge Dataviz NPM软件包-尝试使用React Viewer,reactjs,autodesk-forge,Reactjs,Autodesk Forge,我已经尝试使用新的Forge Dataviz NPM包开发了一段时间,但我一直面临错误。我目前正试图加载一个查看器(),但我认为我做错了什么。还是不知道是什么 这是我的反应常数: const TestAutodesk= () => { return ( <div> <Viewer env="AutodeskProduction" docUrn="URN STRING"
const TestAutodesk= () => {
return (
<div>
<Viewer
env="AutodeskProduction"
docUrn="URN STRING"
getToken={async () => await fetch("https://developer.api.autodesk.com/authentication/v1/authenticate",requestOptions)
.then((res) => res.json())
.then((data) => data.access_token)}
></Viewer>
</div>
);
};
最后一个应用程序不会将其用作身份验证,我将使用一个安全的后端端点,这只是为了尝试加载查看器并完成前端。这是我在控制台上看到的错误:
我认为错误在于调用localhost:8080,但它应该调用autodesk端点。有什么想法吗?Api引用/Dataviz示例没有说明这一点。React组件非常简单(),本身不应该向localhost发出任何请求。您是否在应用程序的其他地方提出这些请求
关于getToken
实现,我建议两件事:
- 直接从客户端代码发出这些请求不是一种好的做法。这样,有人可能会窃取您的伪造客户ID和客户机密。更好的方法是在您自己的后端中实现一个自定义端点,该端点以有限的权限生成令牌,从而对客户端隐藏凭据
- 如果需要向发出原始请求,请注意,它需要4个(不是3个)参数:
、客户机id
、客户机机密
和授权类型
范围
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("client_id", "ID");
urlencoded.append("client_secret", "SECRET");
urlencoded.append("grant_type", "client_credentials");
var requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow",
};