一个驱动器重定向URL不允许查询字符串参数

时间:2014-06-03 09:03:11

标签: onedrive

目前,我正在尝试将OneDrive SDK集成到网站上。但是,我在使用身份验证进行重定向时遇到了问题。

正常路线:

  • 用户访问该网站。它点击一个按钮,在那里单点登录OneDrive
  • 用户被重定向到OneDrive授权页面。
  • 一旦身份验证,用户就会被重定向到他们中断的位置。此重定向在OneDrive的SDK帐户中指定。但是,他们似乎不允许在重定向网址中使用查询参数。

有解决方法吗?

我唯一可以理解的是使用URL作为带有查询参数的URL的别名,但这看起来像是一个黑客解决方案。很难相信用户没有办法使用查询参数重定向来指示他们在网站停留的阶段。

无效重定向网址示例为http://skydpk.com/index.php?a=ap&addon=file_sharing&page=skydrive

任何建议表示赞赏,谢谢,D

1 个答案:

答案 0 :(得分:1)

您可以通过/ authorize请求的state参数传递额外的参数。 Onedrive / Skydrive会将最后一次重定向中的state参数传回给您。

因此,如果重定向网址为

  

http://skydpk.com/index.php

然后你的第一个OAuth腿看起来像这样:

  

https://login.live.com/oauth20_authorize.srf?client_id=CLIENT_ID&scope=SCOPES&response_type=code&redirect_uri=http%3A%2F%2Fskydpk.com%2Findex.php&state=state=a%3Dap%26addon%3Dfile_sharing%26page%3Dskydrive

最后的OAuth分支看起来像这样:

  

http://skydpk.com/index.php?code=AUTH_CODE&state=a%3Dap%26addon%3Dfile_sharing%26page%3Dskydrive