예제 #1
0
        public async Task <ActionResult> Login(vm.LoginForm info)
        {
            var authenticationResult = await Olive.Security.Auth0.Authenticate(info.Email, info.Password);

            if (!authenticationResult.Success)
            {
                Notify(authenticationResult.Message, "error");
                return(View(info));
            }

            await info.Item.LogOn();

            if (Url.ReturnUrl().HasValue())
            {
                return(Redirect(Url.ReturnUrl()));
            }

            return(AjaxRedirect(Url.Index("LoginDispatch")));
        }
예제 #2
0
        public async Task <ActionResult> Index(vm.LoginForm loginForm, vm.SocialMediaLogin socialMediaLogin)
        {
            if (Request.IsAjaxPost())
            {
                return(Redirect(Url.CurrentUri().OriginalString));
            }

            if (User.Identity.IsAuthenticated)
            {
                return(Redirect(Url.Index("LoginDispatch")));
            }

            if (Url.ReturnUrl().IsEmpty())
            {
                return(Redirect("/login" + "?ReturnUrl=" + "/login"));
            }

            ModelState.Clear(); // Remove initial validation messages

            ViewBag.LoginForm        = loginForm;
            ViewBag.SocialMediaLogin = socialMediaLogin;

            return(View(ViewBag));
        }
예제 #3
0
 public async Task OnBound(vm.LoginForm info)
 {
     info.Item = await Domain.User.FindByEmail(info.Email);
 }