У меня есть пример приложения, размещенного на AppHarbor, и теперь я хочу интегрировать авторизацию через Facebook.Поэтому я скачал самородок из пакета Facebook.Web.Mvc для его реализации.
После прочтения учебника у контроллера есть метод:
public ActionResult Login(string returnUrl)
{
var oauthClient = new FacebookOAuthClient(FacebookApplication.Current) { RedirectUri = GetFacebookRedirectUri() };
if (!string.IsNullOrWhiteSpace(returnUrl))
{
returnUrl = Url.Action("Index", "Facebook");
}
dynamic parameters = new ExpandoObject();
parameters.scope = ExtendedPermissions;
var state = new { csrf_token = CalculateMD5Hash(Guid.NewGuid().ToString()), return_url = returnUrl };
parameters.state = Base64UrlEncode(Encoding.UTF8.GetBytes(JsonSerializer.Current.SerializeObject(state)));
SetFacebookCsrfToken(state.csrf_token);
string s = oauthClient.GetLoginUrl(parameters).AbsoluteUri;
ViewBag.FacebookLoginUrl = s;
//new LogEvent(s).Raise();
return View(new AccountModel());
}
Просмотр:
<a href="@ViewBag.FacebookLoginUrl" id="lUrl">
<div class="fblogin"></div>
В localhost это работает для меня.Но когда я загружаю его в appharbor, я вижу, что сгенерированная ссылка указывает на адрес + порт 16013 (так как поддержка всегда говорила случайный порт).Таким образом, щелкнув по нему, вы увидите окно входа в Facebook, а затем пустую страницу.
Я вручную настроил настройки своего приложения в Facebook для этого порта, но это не помогло.
Также я попытался получить доступ к своему сайту через этот порт - ничего.
Затем яизменил номер порта через jquery на 80, тоже не помогло.
у вас были такие проблемы?