从asp.net webforms iframe canvas应用程序获取oAuth 2.0访问令牌

时间:2010-11-19 16:06:38

标签: facebook facebook-graph-api webforms facebook-c#-sdk facebook-authentication

问题说明了一切:

如何在asp.net webforms 4.0 iframe画布应用程序的图形api调用中获取访问令牌。

我的canvas应用程序已配置为启用OAuth 2.0 for Canvas(beta)等。

alt text

这意味着我在我成功阅读的iframe上获得signed_request参数。

来自oficial documentation on canvas authentication

  

signed_request参数是HMAC SHA-256签名字符串,句点(。)和base64url编码的JSON对象的串联。

文档中有一个解码signed_request的PHP代码,但我无法在C#中实现它,部分原因是说实话我不喜欢重新启动方向盘而是使用别人的代码已经过测试。

这是我对一个好的C#Facebook SDK的追求再次开始的地方(因为facebook每隔几个月就会改变一切,图书馆通常会过时)。

我过去曾使用过codeplex的Facebook Developer Toolkit,但似乎已经过时了,最新的稳定版本已经过时了(在facebook API时间内)

几个月前使用了GitHub中的Oficial Facebook C# SDK,但它缺乏完整的身份验证支持。

现在我在Nuget上找到了,并且非常喜欢来自Nathan Totten的Facebook C#SDK,他是StackOverflow中的top Facebook Experts之一。

如果Nathan读过这个(或任何也使用此sdk的人),我如何使用此SDK获取在我的画布应用程序中使用的访问令牌。

无论如何,如果有更好的方式来获取令牌,也许使用Javascript库请让我(以及那些和我一样的人都知道)。

1 个答案:

答案 0 :(得分:1)

嘿,卡洛斯。因此,要获取访问令牌,您只需在用户进行身份验证后执行以下操作:

FacebookApp app = new FacebookApp();
var accessToken = app.Session.AccessToken;

另外,请参阅我对此问题的回答:facebook-C#-sdk MVC "Hello World" app - how to get access token?

希望这有帮助,否则如果您有任何其他问题请告诉我。