Pregunta

He estado pensando en escribir una pequeña herramienta que inicie sesión en SO y actualice mi información de perfil con alguna información actual / actual de forma regular (por ejemplo, mi última publicación de blog o preguntas en las que necesito ayuda, etc.) )

Para que esto funcione, necesitaré iniciar sesión de alguna manera en SO desde una aplicación de consola.

¿Existe una biblioteca .Net que agilice el inicio de sesión en un sitio web openid utilizando solicitudes http sin formato?

¿Fue útil?

Solución

No. O al menos, no puedes hacerlo en el caso general. Porque la parte en la que presenta sus credenciales a su proveedor de OpenID podría ser cualquier cosa, ¿verdad? Tal vez el proveedor se autentique a través de un token o una llamada telefónica o autenticación de voz o lo que sea, eso está fuera de la especificación de OpenID.

Entonces tienes dos opciones. Una es conseguir que SO proporcione una API más accesible para editar su perfil, utilizando algún mecanismo más adecuado para llamadas automáticas (por ejemplo, OAuth).

La otra es que, si está escribiendo este código para su uso personal, puede controlar qué proveedor de OpenID está usando y elegir uno que sea programable. En el caso extremo, puede ejecutar su propio proveedor y luego colocar la seguridad que desee entre su script y su proveedor. O simplemente intente escribir un script con algo como Mechanize que inició sesión en su proveedor actual. (Solo asegúrese de tener un buen comportamiento con respecto a los elementos de formulario ocultos y las cookies. Los buenos proveedores de OpenID pueden ser muy exigentes con esas cosas, para proteger su cuenta de los ataques de falsificación de solicitudes entre sitios).

Otros consejos

Como se ha dicho, generalmente no puede iniciar sesión mediante script en un sitio OpenID, pero si el sitio en el que desea iniciar sesión para su aplicación de consola es compatible (o se puede hacer que sea compatible) con OAuth, entonces absolutamente puede obtener lo que quieres hacerlo.

Vea esta pregunta que aborda esto, y la respuesta aceptada, que explica todos los detalles: Autenticación OpenID y acceso a la API

Aquí está el lugar más probable para encontrarlo:

http://wiki.openid.net/Libraries

Hay uno llamado DotNetOpenId, escrito en C #, en la lista, por lo que parece prometedor ;-) pero no sé nada sobre .NET, así que no podría decirte si funcionará para ti específicamente.

Además, una pregunta posiblemente relacionada .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top