public static APISession GetSession(string token) { a5js_apiEntities db = new a5js_apiEntities(); Session session = (from s in db.Sessions where s.Identifier == token select s).FirstOrDefault(); if (session != null) { if (session.LastModified < DateTime.Now.AddMinutes(-10)) return new APISession(APISessionStatus.TOKEN_EXPIRED); return new APISession(APISessionStatus.LOGGED_IN, session); } else { return new APISession(APISessionStatus.INVALID_TOKEN); } }
public APIUserResponse Authenticate(string Email, string Password) { a5js_apiEntities db = new a5js_apiEntities(); User user = (from u in db.Users where u.Email == Email && u.Password == Password select u).FirstOrDefault(); if (user != null) { string token = Guid.NewGuid().ToString(); db.Sessions.Add(new Session() { UserID = user.UserID, Identifier = token }); db.SaveChanges(); return new APIUserResponse(APIResponseStatus.SUCCESS, APIUserResponseStatus.SUCCESS, token); } else { return new APIUserResponse(APIResponseStatus.SUCCESS, APIUserResponseStatus.INVALID_CREDENTIALS); } }