Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 public async Task <MerchantStaffSignInResponse> SignInAsync(MerchantStaffSignInRequest request)
 {
     return(await RunAsync(() => _api.SignInAsync(request)));
 }