public IUserSnap GetUserSnap(string ticket, LoginType type) { var passport = MongoEntity.Get <Passport>(p => p.SecurityKey == ticket); if (passport == null) { return(null); } var profile = MongoEntity.Get <Profile>(p => p.SecurityKey == ticket); if (profile == null) { return(null); } IUserSnap snap = new UserSnap() { Id = profile.Id, SecurityKey = profile.SecurityKey, Name = profile.Name, Account = profile.Account, LoginCode = passport.GetLoginCode(type), LoginType = type, Email = profile.Email, RegisteredTime = profile.BsonObjectId.CreationTime }; Log(snap.Name + " do GetUserSnap"); return(snap); //return new UserInfo(profile.Id, profile.Account, profile.Name, profile.Email, (profile.Native == null ? "" : string.Format("{0}{1}{2}", profile.Region.Name, profile.Nationality.Name, profile.Native.Name)), DateTime.Now, profile.SecurityKey); }
public bool IsAuthorized(HttpContextBase context, LoginType type) { var _id = context.GetToken(WebConfiguration.Instance.ConfigIdTokenName); var _account = context.GetToken(WebConfiguration.Instance.ConfigAccountTokenName); var _securitykey = context.GetToken(WebConfiguration.Instance.ConfigSecurityTokenName); if (string.IsNullOrEmpty(_id) || string.IsNullOrEmpty(_account) || string.IsNullOrEmpty(_securitykey)) { return(false); } var _code = string.Empty; if (type == LoginType.Web) { _code = context.GetIP(); } else { _code = context.GetHeader(WebConfiguration.Instance.ConfigHeaderCodeName); } var snap = new UserSnap() { Id = _id, Account = _account, SecurityKey = _securitykey, LoginType = type, LoginCode = _code }; return(Reception.Instance.IsAuthorized(snap)); }
public static UserSnapToken AsToken(this UserSnap snap) { return(new UserSnapToken { product_id = snap.product_id, name = snap.product_name, sale_state = snap.sale_state, checkout_completed = snap.checkout_completed, msrp = (float)snap.msrp / 100F, price = (float)snap.price / 100F, close_price = (float)snap.close_price / 100F, snapped_at = snap.snapped_at, bonus_points = snap.bonus_points }); }