public bool ValidateToken(string Token) { if (Token == null) { return(false); } else { using (DAL.AuthenticateDAL objMem = new DAL.AuthenticateDAL()) { var nTokenRecord = objMem.GetToken(Token); if (nTokenRecord != null) { DateTime currentTimeUTC; currentTimeUTC = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local); var span = currentTimeUTC - nTokenRecord.ExpiryDate.ToUniversalTime(); if (span.TotalSeconds > 0) { return(false); } else { nTokenRecord.ExpiryDate = DateTime.Now.Add(new TimeSpan(0, 0, DefaultSecondsUntilTokenExpires)); return(objMem.UpdateToken(nTokenRecord)); } } else { return(false); } } } }
public DataContracts.TokenContract GenerateToken(string User) { Guid UserId; MembershipUser memuser; memuser = Membership.GetUser(User); Guid.TryParse(memuser.ProviderUserKey.ToString(), out UserId); var Token = BuildSecureToken(TokenSize); using (DAL.AuthenticateDAL objMem = new DAL.AuthenticateDAL()) { var nTokenRecord = new DataContracts.TokenContract() { UserID = UserId.ToString(), UserName = memuser.UserName, Token = Token, ExpiryDate = DateTime.Now.Add(new TimeSpan(0, 0, DefaultSecondsUntilTokenExpires)) }; if (!objMem.SaveToken(nTokenRecord)) { throw new WebFaultException <string>("Token Generation Failed.", System.Net.HttpStatusCode.InternalServerError); } memuser = null; return(nTokenRecord); } }