public AccessToken GetAccessToken(Guid userKey, UserAgentDetails deviceInfo, string ip)
 {
     return(this.Collection.Find(at =>
                                 at.UserKey == userKey &&
                                 at.DeviceInfo.Browser == deviceInfo.Browser &&
                                 at.DeviceInfo.Platform == deviceInfo.Platform &&
                                 at.Ip == ip &&
                                 at.DeviceInfo.OperatingSystem == deviceInfo.OperatingSystem).FirstOrDefault());
 }
        public static AccessToken Map(UserAgentDetails deviceInfo, GetIpInfoResponse ipInfo, string ip, User user)
        {
            AccessToken accessToken = new AccessToken
            {
                CreateDate = DateTime.UtcNow,
                DeviceInfo = deviceInfo,
                IpInfo     = ipInfo,
                Ip         = ip,
                Token      = HashUtility.GenerateRandomSha256(),
                UserKey    = user.UserKey
            };

            return(accessToken);
        }
Exemple #3
0
        /// <summary>
        /// Get details from User Agent like platform, browser and operating system
        /// </summary>
        /// <param name="userAgent">full user agent header</param>
        /// <returns></returns>
        public static UserAgentDetails GetUserAgentDetails(this string userAgent)
        {
            UserAgentDetails userAgentDetails = new UserAgentDetails()
            {
                UserAgent = userAgent
            };

            var osDetails = GetOperatingSystem(userAgent);

            userAgentDetails.OperatingSystem        = osDetails[0];
            userAgentDetails.OperatingSystemVersion = osDetails[1];

            var browserDetails = GetBrowser(userAgent);

            userAgentDetails.Browser        = browserDetails[0];
            userAgentDetails.BrowserVersion = browserDetails[1];

            userAgentDetails.Platform = GetPlatform(userAgentDetails.OperatingSystem);

            return(userAgentDetails);
        }