/// <summary> /// Anmelden /// </summary> /// <param name="httpContext"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="isPersistent"></param> /// <returns></returns> public async Task <bool> SignInUser(HttpContext httpContext, string username, string password, bool isPersistent = false) { try { RestAccess ra = new RestAccess(Constants.ServiceClientEndPointWithApiPrefix); var user = await ra.UserCheck(username); if (user.Ok && user.Result != null && !user.Result.UserIsLocked && user.Result.UserId > 0) { var hash = PasswordHelper.CumputeHash(password); var userAccountData = await ra.UserAccountData(new ExPostUserPasswortData { UserId = user.Result.UserId, PasswordHash = hash }); if (userAccountData.Ok && userAccountData.Result != null && userAccountData.Result.UserAccountData != null) { ClaimsIdentity identity = new ClaimsIdentity(GetUserClaims(userAccountData.Result.UserAccountData), CookieAuthenticationDefaults.AuthenticationScheme); ClaimsPrincipal principal = new ClaimsPrincipal(identity); await httpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); return(true); } } } catch (Exception) { return(false); } return(false); }