6

He buscado, lea los documentos del desarrollador de FB.Cómo iniciar sesión con Facebook usando DotNetOpenAuth

MVC 4, incorporé OpenId.
Ahora también quiero incluir el inicio de sesión de FB, tal como Stackoverflow y algún otro sitio lo han implementado.

¿Creé mi propio archivo JS con código de ejemplo del desarrollador FB?
O
Use herramientas de terceros, que no conozco qué usar. Miré OAuthClient (DotNetOpenAuth-4.0.0.11165), no se pudo ejecutar, hubo un error del servidor y no se pudo depurar porque faltaba el archivo fuente.

+0

Al hacer clic en Entrar con FB produce: HTTP 400 - Solicitud incorrecta – Picflight

+0

El servidor remoto devolvió un error: (400) Solicitud incorrecta. – Picflight

Respuesta

2

Facebook implementa una especificación anterior de OAuth 2 que la última versión de DotNetOpenAuth beta. Para interoperar con Facebook, debe usar the CTP of v3.5 de DotNetOpenAuth para evitar el error 400 Bad Request.

+0

Obtengo esto también usando 3.5 ctp mencionado por Andrew en el proyecto MVC usando el proyecto https://github.com/mhamrah/Html5OpenIdTemplate. – TimJohnson

+0

¿De verdad? Acabo de descargarlo para probarlo y funcionó bien (el CTP - No he probado la plantilla @gsogoly a la que se hace referencia). –

+1

Sí, estos 400 errores de solicitud incorrecta tienen que ver conmigo o con alguien que no acceda correctamente a la cuenta de aplicaciones de Facebook y establezca la url segura. Todas las muestras usan un puerto localhost específico: xxxxx. En fb, debe establecerse de esa manera antes de la prueba. Tardó un tiempo en descubrirlo. Gracias sin embargo. – TimJohnson

0

En la última versión de DotNetOpenAuth (4.0.0.12084) Iniciar sesión con Facebook funciona bien.

Con el fin de hacer muestra de solución de construcción: instalar Code Contracts: http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx

Y para ejemplo con Facebook login de trabajo que necesita para

  1. Cree su propia aplicación en Facebook
  2. que especifique Url del sitio web local en la configuración de la aplicación (en la sección "Seleccione cómo su aplicación se integra con Facebook")
  3. Actualice el archivo Web.config (proyecto OAuthClient) con su ID de aplicación y la aplicación secreta .
  4. en DotNetOpenAuth.ApplicationBlock.Facebook.FacebookGraph cambio de tipo de propiedad Id de int a largo
  5. proyecto de ejecución OAuthClient. Deberia de funcionar.

Más detalles aquí: Facebook/ Twitter with dotnetopenauth?

también leer notas de la versión respecto a OAuth 2.0 (http://www.dotnetopenauth.net/oauth/dotnetopenauth-4-0-released/) Por lo que yo entiendo todavía no es estable, pero yo soy alféizar de estudiar este. Hasta ahora me funciona bien.

Cuestiones relacionadas