2010-05-19 3 views
1

La question courte est: comment puis-je utiliser le mécanisme de redirections graphique api oauth pour authentifier l'utilisateur et enregistrer récupéré access_token et également utiliser SDK javascript au besoin (le problème est SDK javascript aura différent access_token lors de l'initialisation).Facebook Graph API d'authentification dans l'application de toile et la session de piste

J'ai initialement configuré mon application de toile facebook iframe, avec connexion unique. Cela fonctionne bien avec l'API graphique, car je peux utiliser access_token enregistré par javascript de facebook quand il détecte sessionchange (utilisateur connecté).

Mais, je préfère ne pas faire de connexion unique. Mais, utilisez graph api rediriger et forcer l'utilisateur à envoyer à une boîte de dialogue d'autorisations. Mais, s'il a déjà donné des permissions, je ne devrais pas rediriger l'utilisateur. Comment gérer cela?

Une autre question: J'ai effectué des redirections d'API pour l'authentification et j'ai également récupéré access_token. Mais alors, que faire si je veux utiliser javascript appel FB.ui pour faire stream.Publish? Je pense qu'il utilisera son propre access_token qui est défini pendant FB.init et la détection de session. Donc, je cherche un chemin ici. Comment utiliser l'API graphique pour l'authentification et également utiliser le SDK javascript de Facebook en cas de besoin.

P.S. J'utilise ASP .NET MVC 2. J'ai un filtre d'authentification développé, qui doit détecter l'état d'authentification et la redirection de l'utilisateur (actuellement, il le fait pour autoriser l'URL de l'API graphique)

Répondre

1

J'ai travaillé sur un Client .NET pour l'API graphique appelée FBGraph.NET. Je n'ai pas encore eu le temps de passer à un état de version, mais vous devriez toujours pouvoir utiliser le code existant directement ou comme référence pour ce que vous essayez de faire.

Plus précisément, FBFraphAuthorizeAttribute, FBGraphAuthenticationHelper et FBGraphAuthorizationHelper. Le système d'authentification/d'autorisation est configuré pour être distinct de l'authentification par formulaires ASP.NET. Vous pouvez donc les utiliser séparément ou vous pouvez utiliser l'autorisation Facebook FBGraph en remplacement direct de l'authentification Forms. Il redirigera automatiquement l'utilisateur et demandera des autorisations/permissions étendues s'il ne les a pas déjà accordées.

Je n'ai rien pour le moment qui aide à travailler entre le code côté serveur et le SDK JS, mais j'imagine que les jetons d'accès devraient être interchangeables. Si vous finissez par utiliser le client tel quel, vous devriez pouvoir définir n'importe quel jeton sur IFacebookContext, et inversement passer un côté serveur généré par jeton d'accès au client.