Twitter will give you the PIN. The PinAuthorizer supports an OAuth workflow that works for non-website applications, such as Console, Windows Forms, or WPF. Here's how it works:
1. When you do an Authorize(), LINQ to Twitter launches a browser to the Twitter authorization page.
2. The user logs in, if necessary, and clicks the button to authorize.
3. Twitter redirects to a new page that has the PIN number. This is where WebAuthorizer differs because with Web authorization, Twitter will redirect back to the Web page that kicked off the authorization. However, it's extremely difficult/impossible
for Twitter to redirect back to a desktop app. So, the alternative is for Twitter to redirect to a page with the PIN.
4. The user copies the PIN and returns to the application and gives the PIN to the application. That's where you'll see the lambda assigned to the GetPin Action property, which reads the PIN.
5. LINQ to Twitter then exchanges the PIN for an AccessToken, and the authorizer is ready to be assigned to the TwitterContext instance.
Once you have a TwitterContext instance with an authorizer that contains all 4 credential elements, you can use that instance to make queries.