当我执行https://api.box.com/oauth2/token 以获取访问令牌时,它会将我重定向到 m.box.com !!!
我正在使用 JavaScript XHR POST,无法理解它是如何将我重定向到https://m.box.com/的!?
这是我的要求:
Request URL:https://api.box.com/oauth2/token
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept-Language:en-US,en;q=0.8
Content-Type:application/x-www-form-urlencoded
Cookie:box_visitor_id=511bb5cfe018c0.09915316; country_code=US; box_redirect_url=https%3A%2F%2Fm.box.com%2F; box_redirect_rm=common_main; z=1pm9dat3tb82gs1s2njrdsocg4; referrer=; __utma=254217048.1806492505.1360770515.1360778764.1360781511.3; __utmb=254217048.14.9.1360786227431; __utmc=254217048; __utmz=254217048.1360770515.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=47569716.1075364291.1360770555.1360781565.1360783878.4; __utmb=47569716.5.10.1360783878; __utmc=47569716; __utmz=47569716.1360783878.4.4.utmcsr=api.box.com|utmccn=(referral)|utmcmd=referral|utmcct=/oauth2/authorize; RT=s=1360786281036&r=https%3A%2F%2Fwww.box.com%2Fapi%2Foauth2%2Fauthorize%3Fresponse_type%3Dcode%26client_id%3Dqpome2tetr5oesmq62tut4brabsd9j1q%26state%3Dauthenticated
Origin:platform://.
User-Agent:Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.10.357 Mobile Safari/537.10+
Form Dataview URL encoded
grant_type:authorization_code
code:mj5wDvMwjbbWBlg2QRsN296OvMS9nsWf
client_id:qpome2tetr5oesmq62tut5brabsd9j1q
client_secret:1bCE76NVOe6c3Ro4mKXXrMqW7BLunib4
Response Headersview source
Cache-Control:no-store
Connection:close
Content-Length:174
Content-Type:application/json
Date:Wed, 13 Feb 2013 20:11:22 GMT
Server:nginx
如您所见,它没有任何响应,而是将我重定向到https://www.box.com,然后重定向到https://m.box.com!有人可以解释一下为什么吗?
它是适用于 Blackberry 10 的 Webworks HTML5。
更新:
在详细查看网络活动后,我注意到当我将 redirect_url 设置为 https:// 时,它看起来像:
GET 请求 URL:https ://www.box.com/api/oauth2/authorize?response_type=code&client_id=qpome2te3r5oesmq62ttt41bdabsd9j1q&state=authenticated 请求方法:POST 状态代码:302 找到
GET 请求 URL:https ://google.com/?state=authenticated&code=S1KrsSQG5XWURvpFV8NrfqkuCpCxo2Z3 请求方法:GET 状态代码:301 永久移动
但是当我使用任何类型的 URI 方案时:例如 misha:// 它看起来像:
GET 请求 URL:https ://www.box.com/api/oauth2/authorize?response_type=code&client_id=qpome2te3r5oesmq62tttbbddbsd9j1q&state=authenticated 请求方法:POST 状态码:200 OK
GET 请求 URL:misha://authorised.html?state=authenticated&code=5h49cfldt0zWy8f8Y4IKewTTr07TFzkJ 请求标头查看源 Accept-Language:en-US,en;q=0.8 状态:CANCELED
GET 请求 URL:https ://www.box.com/ 请求方法:GET 状态码:302 找到
......
当我使用已注册的 URI 方案时,我得到了这个:
GET 请求 URL:https ://www.box.com/api/oauth2/authorize?response_type=code&client_id=qpome2te3r5oesmq62tttbbddbsd9j1q&state=authenticated 请求方法:POST 状态码:200 OK
GET 请求 URL:platform:///authorised.html?state=authenticated&code=l793tAT7eVpl85gvr77ZdnIFHTGYVNsJ 请求方法:GET 状态码:200
然后不管在我的authorized.html中做什么,突然进入box.com!??
GET 请求 URL:https ://www.box.com/ 请求方法:GET 状态码:302 找到