Obtenez un jeton d'accès OAuth 2.0 à partir de l'application de canevas Iframe ASP.NET
Question
La question dit tout:
Comment puis-je obtenir un jeton d'accès à utiliser sur les appels API graphiques à partir d'une application ASP.NET WebForms 4.0 IFRAME.
Mon application Canvas a été configurée pour activer l'OAuth 2.0 pour Canvas (Beta) entre autres.
Cela signifie que je reçois le signed_request
Paramètre sur mon iframe que je lis avec succès.
Du Documentation officielle sur l'authentification en toile
Le paramètre SIGNED_REQUEST est la concaténation d'une chaîne de signature HMAC SHA-256, une période (.), Et un objet JSON codé de base64url.
Il y a un code PHP dans la documentation qui décode le signed_request
Mais je n'ai pas été en mesure de l'implémenter à C # en partie à BACUSE pour être honnête, je préfère ne pas réviser la roue mais utiliser quelqu'un d'autre qui a déjà été testé.
C'est là que ma quête d'un bon SDK C # Facebook a recommencé (puisque Facebook change tout tous les mois que les bibliothèques deviennent généralement obsolètes).
J'ai utilisé le codeplex Boîte à outils du développeur Facebook Dans le passé, mais il semble que ce soit obsolète et la dernière version stable est très ancienne (dans l'heure de l'API Facebook)
Il y a quelques mois, utilisé le OFICIAL Facebook C # SDK De GitHub mais il manque complètement le support d'authentification.
Maintenant, j'ai trouvé sur Nuget et j'ai vraiment aimé le SDK Facebook C # de Nathan Totten qui est l'un des Top experts Facebook Ici dans stackOverflow.
Si vous Nathan lisez ceci (ou toute personne qui utilise également ce SDK), comment puis-je utiliser ce SDK pour obtenir un jeton d'accès à utiliser dans mon application Canvas.
Quoi qu'il en soit, s'il y a une meilleure façon d'obtenir un jeton, peut-être avec la bibliothèque JavaScript, laissez-moi (et les gens qui se demandent la même chose que moi) le savent.
La solution
Hé, Carlos. Donc, pour obtenir le jeton d'accès, il vous suffit de faire ce qui suit après l'authentification de l'utilisateur:
FacebookApp app = new FacebookApp();
var accessToken = app.Session.AccessToken;
Voir aussi ma réponse à cette question: Facebook-C # -SDK MVC "Hello World" App - Comment obtenir un jeton d'accès?
J'espère que cela aide, sinon, faites-moi savoir si vous avez d'autres questions.