Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2014, 15:29   #1
Xavr
Новичок
Джуниор
 
Регистрация: 04.12.2013
Сообщений: 2
По умолчанию Авторизация Facebook

Проблема:
первый раз в mvc, на меня скинули чужой проект, где есть авторизация на facebook и редирект на главную после нее.
задача была написать запросы к API от авторизованного юзера. Оказалось, что запросы работают только с access_token, который в свою очередь работает только с https (проект был на http).

При переходе на https мои запросы работают нормально, но перестает работать редирект с авторизации. (переход на страницу авторизации и сама авторизация работает). После успешной авторизации показывает белый экран и https://www.facebook.com/v2.1/dialog...ayfkprnEUnR8Uo в адресной строке.
При отладке в метод "ExternalLoginCallback" не заходит.

Метод, который вызывается по нажатию:
Код:
[RequireHttps]
        [AllowAnonymous]
        public ActionResult ExternalLoginFacebook()
        {
            AuthConfig.RegisterAuth();
            return  new ExternalLoginResult("facebook", Url.Action("ExternalLoginCallback", new { ReturnUrl = "" }));
        }

и куда он заходит в return:
Код:
 internal class ExternalLoginResult : ActionResult
        {
            public string Provider { get; private set; }
            public string ReturnUrl { get; private set; }
            
            public ExternalLoginResult(string provider, string returnUrl)
            {
                Provider = provider;
                ReturnUrl = returnUrl;
            }
            public override void ExecuteResult(ControllerContext context)
            {
                OAuthWebSecurity.RequestAuthentication(Provider, ReturnUrl);
            }
        }
дальше ничего не происходит.
При авторизации до перехода на https после этого заходил в метод ExternalLoginCallback
Код:
    [RequireHttps]
        [AllowAnonymous]
        public ActionResult ExternalLoginCallback(string returnUrl)
        {
            AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
            if (!result.IsSuccessful)
            {
                return RedirectToAction("ExternalLoginFailure");
            }
            // WebSecurity.InitializeDatabaseConnection
            if (OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: false))
            {
                return RedirectToLocal(returnUrl);
 
            }
                if (User.Identity.IsAuthenticated)
                {
                    // If the current user is logged in add the new account
                    OAuthWebSecurity.CreateOrUpdateAccount(result.Provider, result.ProviderUserId, User.Identity.Name);
                    return RedirectToLocal(returnUrl);
                }
                else
                {
                    // User is new, ask for their desired membership name
                    string loginData = OAuthWebSecurity.SerializeProviderUserId(result.Provider, result.ProviderUserId);
                    ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(result.Provider).DisplayName;
                    ViewBag.ReturnUrl = returnUrl;
                    return View("ExternalLoginConfirmation", new RegisterExternalLoginModel { UserName = result.UserName, ExternalLoginData = loginData });
                }
 
            }
Что не так?

Работаю без sdk.
Xavr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация на Facebook посредством Facebook C# SDK [C#] [Desctop] vladvilko Помощь студентам 0 17.05.2014 14:57
API Facebook, отправляем сообщение на страницу Facebook из PHP. bpystep Помощь студентам 1 26.01.2014 17:30
Авторизация через FaceBook Gorychev PHP 3 01.11.2011 17:19
авторизация на facebook serj1985 Работа с сетью в Delphi 2 13.08.2011 12:35