В настоящее время я тестирую OAuth-реализацию Facebook Connect, используя http://facebooksdk.codeplex.com.
У меня есть FacebookController с двумя простыми действиями, которые называются LogOn и CallBack .
Все отлично работает, и пользователь правильно вошел в мою систему.
Проблема в том, что когда вызывается действие CallBack, происходит нечто странное, что делает простой
return Redirect(loggedUrl);
перенаправление на правильный зарегистрированный URL, но заканчивается следующими символами: #_=_
Похоже, что сервер Facebook отправляет информацию на мой веб-сервер, используя следующий заголовок HTTP:
HTTP/1.1 302 Found
Cache-Control: private, no-cache, no-store, must-revalidate
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Location: http://mywebsite.com/Facebook/CallBack/?state=1&code=AQCXexr10uxANSBOu9JqrBDxqPkWbsyxM1S9ltuY9XwCXW7eGsOII329SthClxOSM_a7wJvwrXh1_O3D5I7E_nxCDTWDLpyYdMpMUfw4zMWcQ4oV2PmRkIMd2NfPYRKlkLgkurEzka1CjAF1jp8Xb3crklOB59W4IT7LZy6MEmFusuhSKacmsTcV1LAOW4uJ3K4#_=_
P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
Pragma: no-cache
Set-Cookie: locale=en_US; expires=Fri, 28-Oct-2011 00:09:38 GMT; path=/; domain=.facebook.com
Content-Type: text/html; charset=utf-8
X-FB-Server: 10.43.103.61
X-Cnection: close
Date: Fri, 21 Oct 2011 00:09:38 GMT
Content-Length: 0
Как видите, мы можем найти символы #_=_
в конце значения Location .
Это похоже на то, что Redirect учитывал символы #_=_
, автоматически добавляя их в loggedUrl.
Даже когда я пытаюсь использовать return Redirect("/");
, #_=_
добавляется (почти) из ниоткуда в мой перенаправленный URL ...
Любая идея была бы очень признательна.
Заранее спасибо за любой ответ.
С уважением,
LB