public int CreateGuestLogin(PostGuestLogin guestLogin) { lock (repositoryLock) { currentGuestLoginID += 1; guestLogins.Add(new GuestLogin { GuestLoginID = currentGuestLoginID, GuestName = guestLogin.Guestname }); return(currentGuestLoginID); } }
public async Task <IActionResult> GuestLoginAsync([FromBody] PostGuestLogin loginEntity) { var claimsPrincipal = await authenticationService.AuthenticateGuestAsync(loginEntity); if (claimsPrincipal == null) { return(NotFound()); } await HttpContext.SignInAsync ( Security.AuthenticationScheme, claimsPrincipal ); return(Ok(claimsPrincipal.ApiGetUser())); }
public Task <ClaimsPrincipal> AuthenticateGuestAsync(PostGuestLogin guestLogin) { lock (authenticationServiceLock) { return(Task.Run(() => { if (guestLoginRepository.GetGuestLogins(guestLogin.Guestname).Count > 0) { return null; } if (userRepository.GetUserLogin(guestLogin.Guestname) != null) { return null; } var guestID = guestLoginRepository.CreateGuestLogin(guestLogin); return GetClaimsPrincipal(guestID, guestLogin.Guestname); })); } }