Ejemplo n.º 1
0
        public async Task <IActionResult> Login([FromForm] LoginViewModel model,
                                                [FromQuery] string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;

            AccountDto account = new AccountDto
            {
                Email      = model.Email,
                Password   = model.Password,
                RememberMe = model.RememberMe
            };

            await _customerFacade.Login(account);

            /*if (ModelState.IsValid)
             * {
             *  var client = _clientFactory.CreateClient("RetryAndBreak");
             *
             *  var disco = await client.GetDiscoveryDocumentAsync("https://customerauththamco.azurewebsites.net");
             *  var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
             *  {
             *      Address = disco.TokenEndpoint,
             *      ClientId = "customer_web_app",
             *      ClientSecret = "8PuT=9o6TC0i0CB#ctzR",
             *
             *      UserName = model.Email,
             *      Password = model.Password
             *  });
             *
             *  if (tokenResponse.IsError)
             *  {
             *      ModelState.AddModelError(string.Empty, "Invalid login attempt.");
             *      return View(model);
             *  }
             *
             *  var userInfoResponse = await client.GetUserInfoAsync(new UserInfoRequest
             *  {
             *      Address = disco.UserInfoEndpoint,
             *      Token = tokenResponse.AccessToken
             *  });
             *
             *  if (userInfoResponse.IsError)
             *  {
             *      ModelState.AddModelError(string.Empty, "Invalid login attempt.");
             *      return View(model);
             *  }
             *
             *  var claimsIdentity = new ClaimsIdentity(userInfoResponse.Claims, "Cookies");
             *  var claimsPrincipal = new ClaimsPrincipal(claimsIdentity);
             *
             *  var tokensToStore = new AuthenticationToken[]
             *  {
             *      new AuthenticationToken { Name = "access_token", Value = tokenResponse.AccessToken }
             *  };
             *
             *  var authProperties = new AuthenticationProperties();
             *  authProperties.StoreTokens(tokensToStore);
             *
             *  await HttpContext.SignInAsync("Cookies", claimsPrincipal, authProperties);
             *
             *  return LocalRedirect(returnUrl ?? "/");
             * }*/

            return(View(model));
        }