Como obtenho um request_token do OAuth no live.com?

Pode ser uma pergunta duplicada, mas ainda não houve uma resposta. As bibliotecas oauth-dot-net e DotNetOpenAuth são assustadoramente complicadas, um tema que parece rodar através do OAuth, e enquantoOAuth com verificação no .NET é instrutivo e muito mais fácil de entender, diz

Use um controle WebBrowsere abra a página da Web de autorização no aplicativo da área de trabalho. Quando o usuário clica em "Permitir", pegue o texto de resposta do controle WebBrowser, extraia o PIN automaticamente e obtenha os tokens de acesso. Você envia 5 ou 6 solicitações HTTP, mas o usuário precisa ver apenas uma única caixa de diálogo Permitir / Negar. Simples.

Este é o OAuth sem um navegador? Não, issonão é. Ele funciona, desde que você use um navegador da Web para invocar a URL e executar a resposta, que é um milagre de dança em todos os cantos de automação baseada em navegador em HTML, meta refresh, tags noscript e javascript. Mas eu não quero fazer isso.

Microsoft, isso é destinado a você! Eu preciso fazer puro REST, nãoprincipalmente REST, exceto quando é javascript.

Desejo recuperar um token de solicitação, conforme descrito pelo OAuth RFC. Um token de solicitação, não um robô de autenticação de software.Um pedido de tinta.

Quando eu uso o WebClient para executar diretamente este GET

GET /oauth20_authorize.srf?client_id=00000000400A9B87&scope=wl.signin%20wl.basic&response_type=code&redirect_uri=http%3a%2f%2fwhitehouse.podzone.net%2f HTTP/1.1

Eu recebo de volta uma bagunça indescritível de javascript gerado por máquina. Pelo amor de Pete, eu quero um maldito request_token, não um javascript love-in. Então, como os blazes eu recebo um token de solicitação do live.com?

Atualmente estou navegando pelas bibliotecas ofuscadas e compactadas referenciadas pelo HTML enviado, mas é pesado. Se alguém já fez isso, eu ficaria muito grato pela ajuda. Ou até mesmo orientação sobre como sequestrar e rastrear o script nesta página, o que provavelmente aceleraria um pouco as coisas.

Se você estiver examinando o GET, o URI de redirecionamentohttp://whitehouse.podzone.net/ mapeia até o servidor da Web em minha máquina desktop doméstica, que geralmente é um HttpListener no aplicativo que está sendo depurado ou, às vezes, no IIS. É assim que eu procuro o redirecionamento (normalmente é só deixá-lo, mas é bom saber que as coisas chegaram até aqui).

Eu tenho um hack de curto prazo tirado de algum trabalho que fiz com base no trabalho de outra pessoa em torno do Skydrive. Evita o problema explorando o fato de que o aplicativo Skydrive é pré-aprovado para todas as contas do Live. No entanto, isso é um truque. Gostaria de usar o OAuth corretamente, não parece que seja prático.

Apesar de uma tentativa realmente corajosa de ajudar de Darin, que transformou algumas coisas que eu gostaria de ter visto no primeiro dia, ficamos com esta citação do link delehttp://msdn.microsoft.com/en-us/library/live/hh826529.aspx (minha ênfase)

Para implementar o fluxo de autenticação do lado do cliente, os aplicativos da área de trabalho devem usar um controle de navegador da web. A maioria das linguagens de desenvolvimento inclui tal controle. Neste exemplo, nosso aplicativo usa a classe System.Windows.Forms.WebBrowser.Depois que o login estiver concluído, todas as chamadas de API do Live Connect subsequentes podem ser realizadas usando a classe System.Net.WebRequest. Use o controle do navegador da web para iniciar o login, passando por um URL semelhante a este.

Eles só querem que eu use o robô para fazer login porque perder o controle da troca dificulta a apresentação de uma oportunidade de intervenção do usuário. Não háinerente Por que motivo não consigo implementar o procedimento de início de sessão. Qualquer coisa que o seu javascript pode postar eu posso postar com o WebClient. Eu posso fazer a mesma criptografia. Em um nível ético, o usuário dificilmente apresentaria seu nome de usuário e senha se não quisesse que meu software fizesse sua parte.

Eu marquei a resposta de Darin porque ele se esforçou muito para ajudar e apresentou algumas coisas excelentes, mas eu acho que vou ficar com o meu pequeno hack que é decepcionante.

questionAnswers(1)

yourAnswerToTheQuestion