2011-03-03 2 views
0

J'ai utilisé différentes méthodes sans succès pour configurer une application Iframe simple qui fonctionne avec l'ancien SDK Facebook C# 4.x. J'utilise une application Web NET 4.0 régulière, je n'utilise pas MVC. Dans ma configuration d'application FB, j'ai activé toutes les nouvelles méthodes (comme oAuth2) mais désactivé les options marquées comme obsolètes.Auth Session est toujours nulle

La session Authorizer est toujours null avec un fan utilisateur connecté de ma page. J'ai probablement manqué quelque chose de stupide, mais je n'arrive pas à le faire fonctionner. Je pense que quelque chose est lié au cookie, la différence dans mon web.config SDK 4.x est le cookieSupport = "faux" pas pris en charge dans les facebookSettings ... Merci d'avance aux personnes qui peuvent m'aider :) Joe

Répondre

0

Dans la version 5, le cookie est utilisé s'il est présent dans la requête, sinon il recherchera d'autres paramètres de requête tels que signed_request. Vous ne devriez pas utiliser un cookie avec une application de toile car vous rencontrerez des problèmes inter-domaines avec certains navigateurs.

Vérifiez que POST for Canvas est activé. Au lieu d'utiliser Authorizer, essayez la classe CanvasAuthorizer (5.0.3) ou FacebookCanvasAuthorizer (dernière source).

instancier comme ceci:

var auth = new CanvasAuthorizer { Perms = "user_about_me,user_birthday,user_location" }; 

Vous n'avez pas besoin de passer le appId ou appSecret dans le constructeur car il sera pris de votre section web.config.

+0

POST pour Canvas est activé mais cela ne fonctionne pas, même avec le CanvasAuthorizer comme vous le suggérez. Note: en regardant dans le HttpContext je peux voir le paramètre signed_request dans Request.Form –

+0

Si vous chargez les symboles de la bibliothèque et que vous entrez dans CanvasAuthorizer pendant le débogage, que voyez-vous dans FacebookWebUtils.GetSession? –

+0

Veuillez noter: pour déboguer des symboles, j'ai téléchargé le dernier code source du dépôt. J'avais besoin de refactoriser mon extrait de code pour utiliser la classe FacebookCanvasAuthorizer. Dans FacebookSession.GetSession, signedRequest.AccessToken est null et sessionCookieValue est également null. Je remarque que le constructeur de classe FacebookSession n'est jamais déclenché, donc il ne peut pas analyser le paramètre de formulaire signed_request. –

Questions connexes