/// <summary> /// Function to generate unique token with expiry against the provided userId. /// Also add a record in database for generated token. /// </summary> /// <param name="userId"></param> /// <returns></returns> public Token GenerateToken(int userId) { string token = Guid.NewGuid().ToString(); DateTime issuedOn = DateTime.Now; DateTime expiredOn = DateTime.Now.AddSeconds(Convert.ToDouble(ConfigurationManager.AppSettings["AuthTokenExpiry"])); var tokendomain = new Token { UserId = userId, AuthToken = token, IssuedOn = issuedOn, ExpiresOn = expiredOn }; _tokenMethod.InsertToken(tokendomain); var tokenModel = new Token() { UserId = userId, IssuedOn = issuedOn, ExpiresOn = expiredOn, AuthToken = token }; return tokenModel; }
/// <summary> /// Used to update the token information /// </summary> /// <param name="token"></param> /// <returns></returns> public bool UpdateToken(Token token) { try { using (var tde = new TimeDifferenceEntities()) { var tokenInfo = tde.Tokens.FirstOrDefault(m => m.AuthToken == token.AuthToken); if (tokenInfo == null) return false; tokenInfo.AuthToken = token.AuthToken; tokenInfo.ExpiresOn = token.ExpiresOn; tokenInfo.IssuedOn = token.IssuedOn; tokenInfo.UserId = token.UserId; tde.SaveChanges(); return true; } } catch (Exception ex) { return false; } }
/// <summary> /// Used to add token in the database /// </summary> /// <returns></returns> public bool InsertToken(Token token) { try { using (var tde = new TimeDifferenceEntities()) { tde.Tokens.Add(new Token { AuthToken = token.AuthToken, ExpiresOn = token.ExpiresOn, IssuedOn = token.IssuedOn, UserId = token.UserId, }); tde.SaveChanges(); return true; } } catch (Exception ex) { return false; } }