public async Task LoginUser() { var mediator = ServiceProvider.GetService <IMediator>(); var userAgent = new UserAgentModel { UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36", Browser = "Chrome", DeviceBrand = "", DeviceFamily = "Other", DeviceModel = "", OperatingSystem = "Windows 10", IpAddress = "127.0.0.1" }; var request = new TokenRequest { GrantType = "password", ClientId = "UnitTest", UserName = "******", Password = "******" }; var command = new AuthenticateCommand(userAgent, request); var result = await mediator.Send(command).ConfigureAwait(false); }
public async Task UploadMaterials() { var mediator = ServiceProvider.GetService <IMediator>(); mediator.Should().NotBeNull(); var files = File.OpenRead(@"E:\logo.png"); files.Should().NotBeNull(); var userAgent = new UserAgentModel { UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36", Browser = "Chrome", DeviceBrand = "", DeviceFamily = "Other", DeviceModel = "", OperatingSystem = "Windows 10", IpAddress = "127.0.0.1" }; var courseMaterial = new CreateCourseMaterialModel { // FileUpload = files, //Name = files.Name, }; var uploadCommand = new CourseMaterialCommand(userAgent, courseMaterial); var result = await mediator.Send(uploadCommand).ConfigureAwait(false); result.Should().NotBeNull(); }
public static UserAgentModel UserAgent(this HttpRequest httpRequest) { var model = new UserAgentModel(); if (httpRequest == null) { return(model); } model.IpAddress = httpRequest.HttpContext.Connection.RemoteIpAddress.ToString(); model.UserAgent = httpRequest.Headers["User-Agent"].ToString(); if (string.IsNullOrEmpty(model.UserAgent)) { return(model); } var uaParser = Parser.GetDefault(); var clientInfo = uaParser.Parse(model.UserAgent); model.Browser = clientInfo.UserAgent.Family; model.DeviceBrand = clientInfo.Device.Brand; model.DeviceFamily = clientInfo.Device.Family; model.DeviceModel = clientInfo.Device.Model; model.OperatingSystem = clientInfo.OS.Family; return(model); }
public TrainingVideoUpdateCommand(TKey id, TUpdateModel model, IPrincipal principal, UserAgentModel userAgent) : base(id, model, principal) { TrainingVideo = model; Id = id; UserAgent = userAgent; }
private UserAgentModel GetUserAgents() { string useragent = _accessor.HttpContext.Request.Headers[HeaderNames.UserAgent].ToString(); UserAgentModel result = new UserAgentModel(useragent); { return(result); } }
/// <summary> /// Get user and browser information from request /// </summary> /// <param name="request"></param> /// <returns></returns> public static UserAgentModel GetUserAgentInformationFromRequest(this HttpRequest request) { var userAgentInformation = new UserAgentModel(); if (request != null) { userAgentInformation = new UserAgentModel { Platform = request.Browser.Platform, OsVersion = GetOsVersion(request.UserAgent), BrowserName = request.Browser.Browser, BrowserType = request.Browser.Type, BrowserVersion = request.Browser.Version, MajorVersion = request.Browser.MajorVersion, MinorVersion = request.Browser.MinorVersion, IsBeta = request.Browser.Beta, IsCrawler = request.Browser.Crawler, IsAOL = request.Browser.AOL, IsWin16 = request.Browser.Win16, IsWin32 = request.Browser.Win32, SupportsFrames = request.Browser.Frames, SupportsTables = request.Browser.Tables, SupportsCookies = request.Browser.Cookies, SupportsVBScript = request.Browser.VBScript, SupportsJavaScript = request.Browser.EcmaScriptVersion.ToString(), SupportsJavaApplets = request.Browser.JavaApplets, JavaScriptVersion = request.Browser["JavaScriptVersion"], RawAgentString = request.UserAgent }; #region IP Address //Checking the forward header if (!string.IsNullOrEmpty(request.ServerVariables["HTTP_X_FORWARDED_FOR"])) { var ipAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"]; string[] addresses = ipAddress.Split(','); if (addresses.Length != 0) { userAgentInformation.IpAddress = addresses[0]; } } //Check if the request is from Incapsula service else if (!string.IsNullOrEmpty(request.ServerVariables["HTTP_INCAP_CLIENT_IP"])) { userAgentInformation.IpAddress = request.ServerVariables["HTTP_INCAP_CLIENT_IP"]; } else { userAgentInformation.IpAddress = request.UserHostAddress; } #endregion } return(userAgentInformation); }
private async Task <TokenResponse> CreateToken(UserAgentModel userAgent, string clientId, string userName, string password, bool verifyPassword) { var user = await _dataContext.Users.Include(x => x.UserProfiles) .GetByEmailAddressAsync(userName) .ConfigureAwait(false); try { if (user == null) { Logger.LogWarning($"User name or password is incorrect; UserName: {userName}"); throw new AuthenticationException(TokenConstants.Errors.InvalidGrant, "The user name or password is incorrect"); } await ValidateUser(user, password, verifyPassword).ConfigureAwait(false); } catch (AuthenticationException ex) { await CreateHistory(userAgent, userName, user, ex).ConfigureAwait(false); throw; } await CreateHistory(userAgent, userName, user).ConfigureAwait(false); var claimsIdentity = await CreateIdentity(user).ConfigureAwait(false); var accessToken = CreateAccessToken(claimsIdentity); var refreshToken = await CreateRefreshToken(clientId, userName, user.Id).ConfigureAwait(false); user.LastLogin = DateTime.UtcNow; await _dataContext.SaveChangesAsync().ConfigureAwait(false); var response = new TokenResponse { AccessToken = accessToken, ExpiresIn = (int)_principalOptions.Value.TokenExpire.TotalSeconds, RefreshToken = refreshToken }; return(response); }
private async Task CreateHistory(UserAgentModel userAgent, string userName, Data.Entities.User user, Exception exception = null) { var history = new UserLogin { UserId = user?.Id, EmailAddress = userName, Browser = userAgent.Browser, DeviceBrand = userAgent.DeviceBrand, DeviceFamily = userAgent.DeviceFamily, DeviceModel = userAgent.DeviceModel, IpAddress = userAgent.IpAddress, OperatingSystem = userAgent.OperatingSystem, UserAgent = userAgent.UserAgent, IsSuccessful = exception == null, FailureMessage = exception?.Message }; await _dataContext.UserLogins.AddAsync(history).ConfigureAwait(false); await _dataContext.SaveChangesAsync().ConfigureAwait(false); }
public static string BuildUserAgentJson() { try { string osInfo = $"Windows10/{SystemInfoHelper.SystemVersion}/{SystemInfoHelper.DeviceManufacturer}/{SystemInfoHelper.DeviceModel}"; string sdkInfo = $"{SystemInfoHelper.SdkVersion}"; string appInfo = $"{SystemInfoHelper.PackageName}/{SystemInfoHelper.ApplicationName}/{SystemInfoHelper.ApplicationVersion}"; UserAgentModel userAgent = new UserAgentModel(osInfo, sdkInfo, appInfo); MemoryStream stream1 = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(UserAgentModel)); ser.WriteObject(stream1, userAgent); stream1.Position = 0; StreamReader sr = new StreamReader(stream1); var content = sr.ReadToEnd(); var filtered = content.Replace("\\/", "/"); return(filtered); } catch (Exception) { return(string.Empty); } }
public PayFortCommand(UserAgentModel userAgent, PayFortRequest payFortRequest, string coreAssembly) { UserAgent = userAgent; PayFortRequest = payFortRequest; CoreAssembly = coreAssembly; }
public CourseMaterialCommand(UserAgentModel userAgent, CreateCourseMaterialModel courseMaterial) { CourseMaterial = courseMaterial; UserAgent = userAgent; }
public LevelBestVideoCommand(TCreateModel model, UserAgentModel userAgent) : base(model, null) { Model = model; UserAgentModel = userAgent; }
public AuthenticateCommand(UserAgentModel userAgent, TokenRequest tokenRequest) { UserAgent = userAgent; TokenRequest = tokenRequest; }
public CourseMaterialCommand(TCreateModel model, UserAgentModel userAgent) : base(model, null) { Model = model; UserAgentModel = userAgent; }
public UserManagementCommand(TUserModel model, IPrincipal principal, UserAgentModel userAgent) : base(model, principal) { UserAgent = userAgent; }
public EvaluationVideoCommand(TCreateModel model, UserAgentModel userAgent) : base(model, null) { Model = model; UserAgentModel = userAgent; }
public static IUserAgentModel ReadUserAgent(this HttpRequest httpRequest) { var model = new UserAgentModel(); return(ReadUserAgent(httpRequest, model)); }
public TrainingVideoCommand(TCreateModel model, UserAgentModel userAgent) : base(model, null) { Model = model; UserAgentModel = userAgent; }