2012-06-17 32 views
5

Estoy intentando autenticar cuentas de usuario en Windows Phone. Encontré esta biblioteca de C# para el trabajo (tweetsharp).Autenticación de Twitter sin usar el pin

Su ejemplo es bastante claro, pero utilizan un código PIN para autenticar al usuario.

using TweetSharp; 

// Pass your credentials to the service 
TwitterService service = new TwitterService("consumerKey", "consumerSecret"); 

// Step 1 - Retrieve an OAuth Request Token 
OAuthRequestToken requestToken = service.GetRequestToken(); 

// Step 2 - Redirect to the OAuth Authorization URL 
Uri uri = service.GetAuthorizationUri(requestToken); 
Process.Start(uri.ToString()); 

// Step 3 - Exchange the Request Token for an Access Token 
string verifier = "123456"; // <-- This is input into your application by your user 
OAuthAccessToken access = service.GetAccessToken(requestToken, verifier); 

// Step 4 - User authenticates using the Access Token 
service.AuthenticateWith(access.Token, access.TokenSecret); 
IEnumerable<TwitterStatus> mentions = service.ListTweetsMentioningMe(); 

Me preguntaba si es posible hacer esto sin el código PIN? He probado aplicaciones que no solicitan el código. ¿Esto significa que tweetsharp está desactualizado?

¿Alguna idea de si todavía puedo hacer la autenticación con tweetsharp sin usar la parte del pin? ¿O hay algún SDK alternativo disponible para Windows Phone?

Respuesta

1

En TweetSharp página también se menciona xAuth:

Si usted está construyendo una aplicación móvil y desea beneficiarse de una experiencia de autenticación transparente sin pasos adicionales para el usuario , es necesario inscribir a su aplicación en el soporte xAuth de Twitter. Debe completar este paso para que xAuth funcione correctamente.

using TweetSharp; 

// OAuth Access Token Exchange 
TwitterService service = new TwitterService("consumerKey", "consumerSecret"); 
OAuthAccessToken access = service.GetAccessTokenWithXAuth("username", "password"); 

Responing a tu comentario, otra opción sería utilizar aplicación complementaria de la red abierta en el control WebBrowser en su aplicación móvil, consulte https://github.com/danielcrenna/tweetsharp#authenticating-a-browser-application

+0

xAuth no ofrece acceso a la bandeja de entrada del usuario. Y también debe enviar una solicitud para poder usarlo. – networkprofile

+0

Actualicé mi respuesta. También vea esta interesante publicación sobre xAuth: http://yourhead.tumblr.com/post/428643811/five-things-you-didnt-know-about-xauth – Pol

1

En lugar de Tweetsharp, también se puede hacer uso de Hammock biblioteca acceder a la API de Twitter Aquí hay un blog que explica cómo implementar OAuth para twitter usando Hammock.

Espero que te ayude.

+0

Ese ejemplo también sigue usando un código PIN que creo que no es t usado por Twitter nunca más. También probé el código de muestra y no funciona. – networkprofile

+0

Se le confunde entre [oauth basado en PIN] (https://dev.twitter.com/docs/auth/pin-based-authorization) y [Oauth normal] (https://dev.twitter.com/docs/ auth/implement-sign-twitter). Y el pin que está asumiendo en el ejemplo de blog anterior es el pin "oauth_verifier". Si tiene problemas con el código de muestra anterior, dígame qué problemas está enfrentando. – nkchandra

+0

En realidad estaba probando la fuente a la que se vincula en la segunda parte de su tutorial (https://skydrive.live.com/?cid=5e51a69c0b38399a&sc=documents&id=5E51A69C0B38399A%21317). Cuando ingreso mi información de inicio de sesión en la página web de Twitter, aparece una ventana emergente con "KeyNotFoundException" una vez que hago clic en autorizar. Muy vago, pero eso es todo lo que dice ... – networkprofile

Cuestiones relacionadas