/// <summary> /// Login method for update operations agains the API that returns a session /// key. Pass username/email and password. /// </summary> /// <param name="email"></param> /// <param name="password"></param> /// <returns></returns> public string GetSessionKey(string email, string password) { User user = this.ValidateUser(email, password); using (busUserToken busToken = CodePasteFactory.GetUserToken()) { string token = busToken.GetOrCreateToken(user.Id); if (token == null) { this.ThrowException("Unable to get new user token. " + busToken.ErrorMessage); } // every 50 accesses clear out expired session keys Interlocked.Increment(ref SessionKeyCounter); if (SessionKeyCounter % 50 == 0) { busToken.DeleteExpiredTokens(); } return(token); } }