public async Task <IActionResult> Welcome(MerchantStaffSignInRequest request, string returnUrl) { //var request = new MerchantStaffSignInRequest //{ // Login = login, // Password = password //}; if (string.IsNullOrEmpty(request.Login) || string.IsNullOrEmpty(request.Password)) { return(View()); } var httpClient = new HttpClient(); var response = await httpClient.PostAsync(MerchantAuthService, new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json")); var rstText = await response.Content.ReadAsStringAsync(); if (string.IsNullOrEmpty(rstText)) { return(View()); } var user = JsonConvert.DeserializeObject <MerchantStaff>(rstText); if (user == null) { return(View()); } var claims = new List <Claim> { new Claim(ClaimTypes.Sid, user.MerchantStaffEmail), new Claim(ClaimTypes.UserData, rstText), new Claim(ClaimTypes.Name, $"{user.MerchantStaffFirstName} {user.MerchantStaffLastName}") }; var claimsIdentity = new ClaimsIdentity(claims, "password"); var claimsPrinciple = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrinciple); return(Redirect(Url.IsLocalUrl(returnUrl) ? returnUrl : HomeUrl)); }
public async Task <MerchantStaffSignInResponse> SignInAsync(MerchantStaffSignInRequest request) { return(await RunAsync(() => _api.SignInAsync(request))); }