【发布时间】:2014-06-25 04:25:47
【问题描述】:
我们的 CMS 为 2000 多个学校网站提供支持。每个网站的管理站点都在同一个根域下,例如*.myadmin.com。我们正在努力将OneDrive File Picker 集成到所有这些管理站点的多个页面上。
API 设置中的Redirect URLs 存在问题。我们尝试通过将Redirect URLs: 设置为https://myadmin.com 来将Root domain 字段设置为myadmin.com。在 JavaScript 中,我们像这样初始化文件选择器:
WL.init({
client_id: window.OneDrive.clientId,
redirect_uri: ''
});
WL.fileDialog({
mode: "open",
select: "single"
});
这会导致一个弹出窗口显示:
We're unable to complete your request. Microsoft account is experiencing technical problems. Please try again later.
在弹窗的地址栏中,还有一个错误描述(url解码):
error_description=The provided value for the input parameter 'redirect_uri' is not valid. The expected value is 'https://login.live.com/oauth20_desktop.srf' or a URL which matches the redirect URI registered for this client application.
在 API 设置中放置一个特定的 url,例如 https://subdomain.myadmin.com/homepage,将使选取器在 那个 特定页面上工作,而不是在其他页面上工作。看起来它正在寻找一个精确的匹配。显然,我们为每个使用 OneDrive 的页面创建一个单独的应用程序是不切实际的。
可以通过在 API 设置页面上禁用 Enhanced redirection security 来解决此问题。几周前,当我们创建一个用于开发的应用程序时,该选项存在,但被标记为已弃用。今天,当我们为生产创建一个新应用程序时,它已经不存在了,我认为它现在已为所有新应用程序启用。
我们在使用 Dropbox Drop-ins Chooser 时遇到了类似的问题,但我们能够通过将 myadmin.com 设置为应用的域来解决该问题。
有没有办法解决这个问题?
感谢您的帮助和建议。
【问题讨论】:
-
你能通过一个租户数据库来解决这个问题吗?该数据库将按帐户存储重定向 url?
-
@AlexandreSantos 你能详细解释一下吗?我不太明白。您的意思是在数据库中存储所有可能的重定向网址吗?谢谢。
-
添加此请求以使其可用于动态创建的域:onedrive.uservoice.com/forums/262982-onedrive/suggestions/… 如果您对此功能感兴趣,请加入我的请求。
标签: onedrive