问题描述
我正在https://learnforge.autodesk.io/#/?id=learn-autodesk-forge上进行Forge API教程,但遇到了问题。我正在使用.NET(C#)示例,并且一直进行到最后,但是当我尝试运行该应用程序时,出现了错误。当我运行它时,我会得到应有的登录页面
但是当我单击“ AUTODESK登录”时会引发错误
看来Credentials对象被返回为NULL。它为获取该对象而调用的代码如下:
1234
joint
├── 01
├── 02
└── all
我不确定该代码块中的会话凭据来自何处。
我是Forge API的新手,所以将不胜感激。
谢谢 格里
解决方法
以下是按时间顺序使用Autodesk凭据登录后发生的事情:
-
Autodesk登录页面将您重定向到Forge应用程序的回调URL (通常设置为
api/forge/callback/oauth
之类) -
在您的代码中,用于
api/forge/callback/oauth
路由的handler会调用Credentials.CreateFromCodeAsync -
Credentials.CreateFromCodeAsync方法向会话添加了“ ForgeCredentials”属性
-
api/forge/callback/oauth
路由处理程序然后将您重定向回应用程序的主页 -
主页向
api/forge/oauth/token
端点发出请求,以从会话中获取访问令牌
对于您而言,由于某些原因“ ForgeCredentials”属性不可用。可能是本应用来定义session属性的代码失败。尝试单步执行api/forge/callback/oauth
路由处理程序的代码,然后查看以下代码行是否成功执行:
HttpContext.Current.Session.Add("ForgeCredentials",JsonConvert.SerializeObject(credentials));