You would fill in all 4 credentials if you wanted LINQ to Twitter to run as a single user all the time. In that case, the config file OAuthToken is the Twitter AccessToken and the config file AccessToken is the Twitter AccessTokenSecret. BTW, you can rename
config file entries and change the names in your code to match.
The other option is to have the user perform authentication. In that case, leave the AccessToken and OAuthToken empty and LINQ to Twitter will initiate the OAuth authentication process with Twitter. After authentication, you can read the Authorizer Credentials
property to get credentials for that user and save those credentials (in a database) for the user's subsequent queries. Twitter doesn't change credentials, so you can reuse those same credentials and not make the user authenticate anymore after the first time.
All you need to instantiate TwitterContext is the constructor overload that accepts an authorizer:
var twitterCtx = new TwitterContext(authorize);
At one time, Twitter had different URLs for different parts of its API, which changed occasionally. Now that LINQ to Twitter supports the new Twitter API v1.1, the url overloads aren't necessary.
Here's some documentation on how OAuth works with LINQ to Twitter:
Securing Your Applications
BTW, you'll want to edit and remove credentials from your post above so noone steals them. Better yet, visit your application at dev.twitter.com and generate a new set of keys. Those keys allow anyone to perform actions on Twitter on your behalf
and right now you're pretty insecure.