Редирект на m.box.com при получении токена. никакого символического ответа, что бы там ни было

Когда я делаю 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 !! Может кто-нибудь объяснить мне, почему?

Это Webworks HTML5 для Blackberry 10.

ОБНОВЛЕНИЕ:

После подробного изучения сетевой активности я заметил, что когда у меня есть redirect_url как https://, это выглядит так:

URL-адрес запроса GET: https://www.box.com/api/oauth2/authorize?response_type=code&client_id=qpome2te3r5oesmq62ttt41bdabsd9j1q&state=authenticated Метод запроса: Код состояния POST: 302 Found

URL-адрес запроса GET: https://google.com/?state=authenticated&code=S1KrsSQG5XWURvpFV8NrfqkuCpCxo2Z3. Метод запроса. :GET Код состояния: 301 Перемещено навсегда

Но когда я использую любую схему URI: например, misha://, это выглядит так:

URL-адрес запроса GET: https://www.box.com/api/oauth2/authorize?response_type=code&client_id=qpome2te3r5oesmq62ttbbddbsd9j1q&state=authenticated Метод запроса: Код состояния POST: 200 OK

URL запроса GET:misha://authorized.html?state=authenticated&code=5h49cfldt0zWy8f8Y4IKewTTr07TFzkJ Заголовки запроса

URL-адрес запроса GET: https://www.box.com/ Метод запроса: Код состояния GET: 302 Found

.....

Когда я использую зарегистрированную схему URI, я получил это:

URL-адрес запроса GET: https://www.box.com/api/oauth2/authorize?response_type=code&client_id=qpome2te3r5oesmq62ttbbddbsd9j1q&state=authenticated Метод запроса: Код состояния POST: 200 OK

URL запроса GET:platform:///authorized.html?state=authenticated&code=l793tAT7eVpl85gvr77ZdnIFHTGYVNsJ Метод запроса:GET Код состояния:200

а затем внезапно переходит на box.com, независимо от того, что делается в моем authorised.html!??

URL-адрес запроса GET: https://www.box.com/ Метод запроса: Код состояния GET: 302 Found


person xchg.ca    schedule 13.02.2013    source источник
comment
Вы обязательно должны удалить свой идентификатор клиента и секрет из этого примера — теперь люди могут получить доступ к вашему приложению.   -  person seanrose    schedule 17.02.2013
comment
Не беспокойтесь, он подумал об этом заранее, это все подстроено :) и это все равно тестовый сервис, после которого он его забросит.   -  person xchg.ca    schedule 20.02.2013


Ответы (1)


Основная проблема, с которой вы сталкиваетесь, — это отправка запроса из вашего домена на www.box.com в Javascript. Это запрещено Политикой единого происхождения.

person seanrose    schedule 19.02.2013
comment
Да и нет. Да, этот случай подпадает под действие той же политики происхождения, но в то же время, как вы видите, у меня есть успешный запрос, браузер не заблокировал его, поэтому нет, это не проблема. Проблема в том, почему box.com перенаправляет мой запрос токена на www.box.com? Также точно такой же код (запущенный как chrome.exe --disable-web-security) работает и правильно получает access_token! - person xchg.ca; 20.02.2013
comment
Если он перенаправляется, предположим, что он прошел проверку XHR, поэтому возникает вопрос, почему box.com перенаправляет меня... вместо того, чтобы предоставлять значимое сообщение об ошибке или предоставлять access_token. Это довольно шоу-стоп для меня, нужна помощь. - person xchg.ca; 22.02.2013