//public async Task<IActionResult> Register(string userName, string password, string returnUrl) public async Task <IActionResult> Register(RegisterViewModel registerViewModel, string returnUrl) { if (!ModelState.IsValid) { return(View(registerViewModel)); } var bankService = new BankServiceClient(); var newUser = new User { UserName = registerViewModel.UserName, Password = registerViewModel.Password }; try { var serviceResponse = await bankService.RegisterUserAsync(newUser); var sessionId = await bankService.CreateSessionAsync(registerViewModel.UserName); if (serviceResponse) { //var claims = new List<Claim> { new Claim(ClaimTypes.Name, newUser.UserName) }; //var claimsIdentity = new ClaimsIdentity(claims, "password"); //var claimsPrinciple = new ClaimsPrincipal(claimsIdentity); //await HttpContext.Authentication.SignInAsync("Cookies", claimsPrinciple); //await HttpContext.Authentication.SignInAsync(registerViewModel.UserName); await HttpContext.Authentication.SignInAsync(sessionId); if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } return(Redirect("/")); } } catch (FaultException exception) { ViewData["ReturnUrl"] = returnUrl; ViewData["Error"] = exception.Message; return(View()); } return(View()); }