private User LoginMapper(AudienceCredentials credential) { return(new User { Id = credential.Id, DeviceId = credential.DeviceId, DeviceType = credential.DeviceType }); }
public object ValidateAndCreateAccessToken(AudienceCredentials credentials) { User audience = null; _loginUserValidators.Validate(credentials); audience = _accessTokenRepository.ValidateLoginUserCedential(credentials); var userByEmail = _accessTokenRepository.GetUserByEmail(credentials.Username); if (audience != null) { if (!audience.IsVerified) { var loginErrorResponse = new EmailUnverifiedResponse { UserId = audience.Id, IsVerified = audience.IsVerified, Message = "Din emailadress är inte verifierad än. Vill du att vi skickar ett nytt mail?" }; var validateLoginErrorResponse = new LoginUnVerifiedEmailResponse { data = loginErrorResponse }; return(validateLoginErrorResponse); } credentials.Id = audience.Id; audience.DeviceId = credentials.DeviceId; audience.DeviceType = credentials.DeviceType; var loginMap = LoginMapper(credentials); _accessTokenRepository.UpdateDeviceDetail(loginMap); return(TokenMapper(audience, _accessTokenRepository.CreateToken(audience))); } else if (userByEmail != null) { if (string.IsNullOrEmpty(userByEmail.Password) && !string.IsNullOrEmpty(userByEmail.AuthId)) { var facebookUserErrorMessage = new FacebookLoginErrorResponse { Message = "Du är registrerad med Facebook. Försök att logga in med Facebook." }; return(facebookUserErrorMessage); } else { throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", "Ogilitia inloggningsuppgifter."); } } else { throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", "Ogilitia inloggningsuppgifter."); } }
public IHttpActionResult VerifyLogin(AudienceCredentials model) { try { var retToken = _accessTokenService.ValidateAndCreateAccessToken(model); return(Ok(retToken)); } catch (Exception ex) { _log.ErrorFormat("Error in verfiy login. Error : {0}", ex.Message); _log.Error(ex); throw; } }
public User ValidateLoginUserCedential(AudienceCredentials credential) { var sqlQuery = LoginUserQuery(); _log.DebugFormat("Excecuting validation User Query. Query : {0}", sqlQuery); using (var multi = _db.QueryMultipleAsync(sqlQuery, new { @email = credential.Username.Trim(), @password = _cryptoGraphy.EncryptString(credential.Password.Trim()) }).Result) { var userDetail = multi.ReadAsync <User>().Result.FirstOrDefault(); return(userDetail); } }