public void ExpireRequestTokenAndStoreNewAccessToken(string consumerKey, string requestToken, TokenStoreType storeType, String userId, string accessToken, string accessTokenSecret) { TokenStore entities = new TokenStore(Utilities.GetEntityConnectionString()); var tokens = entities.Tokens.Where(t => t.TokenContent == requestToken & t.StoreTypeId == (int)storeType); foreach (var tokenItem in tokens) { entities.DeleteObject(tokenItem); } tokens = entities.Tokens.Where(t => t.TokenContent == accessToken & t.StoreTypeId == (int)storeType); bool doSaveChanges = false; foreach (var tokenItem in tokens) { tokenItem.Secret = accessTokenSecret; tokenItem.UserId = userId; doSaveChanges = true; } if (doSaveChanges) { entities.SaveChanges(); return; } // go create a new token. Token tas = entities.Tokens.CreateObject(); tas.Id = Guid.NewGuid(); tas.UserId = userId; tas.TokenContent = accessToken; tas.Secret = accessTokenSecret; tas.StoreTypeId = (byte)storeType; tas.Type = (int)TokenType.AccessToken; entities.Tokens.AddObject(tas); entities.SaveChanges(); this.localTokensAndSecrets.Remove(requestToken); this.localTokensAndSecrets[accessToken] = accessTokenSecret; }
public void StoreNewToken(TokenType tokenType, TokenStoreType storeType, String userId, String token, String contextContent, String tokenSecret) { this.localTokensAndSecrets[token] = tokenSecret; // does the token already exist? TokenStore tokenStore = new TokenStore(Utilities.GetEntityConnectionString()); var tokens = tokenStore.Tokens.Where(t => t.TokenContent == token & t.StoreTypeId == (byte)storeType & t.UserId == userId & t.Type == (int)TokenType.AccessToken); bool doSaveChanges = false; foreach (var tokenItem in tokens) { tokenItem.Secret = tokenSecret; tokenItem.UserId = userId; tokenItem.StoreTypeId = (byte)storeType; tokenItem.ContextContent = contextContent; doSaveChanges = true; } if (doSaveChanges) { tokenStore.SaveChanges(); return; } // go create a new token. Token tas = tokenStore.Tokens.CreateObject(); tas.Id = Guid.NewGuid(); tas.UserId = userId; tas.TokenContent = token; tas.Secret = tokenSecret; tas.StoreTypeId = (byte)storeType; tas.ContextContent = contextContent; tas.Type = (int)tokenType; tokenStore.Tokens.AddObject(tas); tokenStore.SaveChanges(); }