autodesk-forge - 我可以在 Revit 加载项中使用相同的 SSO 会话来使用我自己的 Forge API 吗?
问题描述
我目前正在开发 Revit 插件的扩展,该插件会提取 BIM360 云模型以用于某些处理。使用适用于 C# 的 Forge API 客户端,我现在正在检索允许用户访问的集线器、项目和文件。
我的抱怨是,用户基本上从 Revit 启动的第一刻起就已经登录到 Autodesk,而我不得不提示用户第二次使用具有完全相同符号的CefSharp模态浏览器对话框登录-在中,接受 Forge 应用程序的权限请求,然后循环回加载项。
让用户在登录时登录感觉非常多余。尽管我尝试尽可能少地提示身份验证,尽可能刷新令牌,但每次我超过令牌的到期时间时,它仍然会提示。此外,如果用户最终填写了与 Revit 当前登录的用户不同的用户,他可以选择可能不允许在 Revit 中的会话打开的文件。
有没有办法:
- ...使用与 Revit 相同的登录来缩短流程(因为它已经是单点登录)?
- ... 防止用户每次都必须重新进行身份验证以减少繁琐?
解决方案
遗憾的是,您不能使用 Revit 的身份验证 ( access_token
)。就像您(和您的应用程序)一样,Revit 使用 Forge 客户端 ID 和密钥,具有一组特定的权限和范围,并且只能由 Revit 使用。
您的应用需要至少验证一次。之后,您可以使用refresh_token
避免重新输入凭据。
推荐阅读
- android - 我无法解决我的构建 gradle 文件错误
- php - 如何一一替换所有出现的字符串(循环)
- regex - 使用 Google 表格函数组合字符串的相似部分
- java - 更新 Andriod-Mobile 应用程序
- c++ - 为什么 std::any_cast 会给出分段错误?
- sql-server - 节点 mssql 事务导致选择查询等待
- vue.js - 如何在 vue 中为外部后端 api 和 devserver api 设置 url
- flutter - 显示后退按钮而不是抽屉按钮 - 颤动
- r-markdown - 如何更改文档中的“评估”输出格式。(去除 ##)
- python - sympy:双摆方程组