Возможна ли авторизация OAuth 2.0 без браузера?
Поставщик может позволить принимать у пользователя логин и пароль и преобразовывать их в маркер доступа (accsss token). Но, как правило в целях безопасности, никто не дает такой возможности.
Попробуйте: если grant_type будет password, то данные пользователя можно передавать в параметрах username и password при получении маркера доступа. Либо использовать grant_type равный client_credentials, тогда данные пользователя должны передаваться в HTTP заголовке Authorization (при использовании HTTPS это более безопасный способ, чем password). 
Например, если бы Facebook позволял это делать, то запрос маркера доступа мог бы быть таким: https://graph.facebook.com/oauth/access_token?client_id=123&client_secret=abc&
grant_type=password&username=pupkin&password=000
В моей библиотеке пока нет возможности менять grant_type снаружи, но можно внутри поменять. Например,  InstagramClient.cs, в конструкторе указать GrantType:base.GrantType = GrantType.ClientCredentials;
И далее использовать клиент:var client = new InstagramClient
(
  "9fcad1f7740b4b66ba9a0357eb9b7dda", 
  "3f04cbf48f194739a10d4911c93dcece"
);
client.ReturnUrl = "http://oauthproxy.nemiro.net/";
client.Username = "aleksey";
client.Password = "Frif#dser#23dssd@Dsdfjjfsi";
var accessToken = client.AccessToken;
И сервер ответит:{"code": 400, "error_type": "OAuthException", "error_message": "Invalid grant_type"}
Плохой пример :P
А вот Facebook, на удивление, вернул маркер доступа:var client = new FacebookClient("1435890426686808", "c6057dfae399beee9e8dc46a4182e8fd");
client.Username = "aleksey";
client.Password = "a6lGmDZsCb1SuHsIQw89ZqK9";
var accessToken = client.AccessToken;
Но у меня сомнения, что поставщик просто так позволит это использовать кому попало, в реальных условиях, без ограничений. Наверняка придется жесткую проверку модератором проходить.
А более универсальные вариант? Если залогиниться нужно не на фейсбук, а например в инстаграм?