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

发布于 2024-10-03 17:59:29 字数 1383 浏览 3 评论 0原文

问题说明了一切:

如何获取访问令牌以在来自 asp.net webforms 4.0 iframe canvas 应用程序的图形 api 调用上使用。

我的画布应用程序已配置为启用 Canvas 的 OAuth 2.0 (测试版)等等。

alt text

这意味着我在 iframe 上获取了我正在成功读取的 signed_request 参数。

来自关于画布身份验证的官方文档

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

文档中有一段 php 代码可以解码 signed_request 但我无法在 C# 中正确实现它,部分原因是说实话我不喜欢重新投入轮子而是使用其他人的代码这已经经过测试了。

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

我过去曾使用过 codeplex 的 Facebook 开发者工具包,但它似乎已经过时了,最新的稳定版本已经很老了(在 facebook API 时间)

几个月前使用了 GitHub 上的 官方 Facebook C# SDK但它完全缺乏身份验证支持。

现在我在 Nuget 上找到了,并且非常喜欢来自 Nathan Totten 的 Facebook C# SDK,他是 StackOverflow 中的顶级 Facebook 专家

如果您 Nathan 阅读了本文(或任何也使用此 sdk 的人),我如何使用此 SDK 获取访问令牌以在我的画布应用程序中使用。

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

The question says it all:

How can I get an access token to use on graph api calls from a asp.net webforms 4.0 iframe canvas app.

My canvas application has been configured to enable the OAuth 2.0 for Canvas (beta) among other things.

alt text

This means I am getting the signed_request parameter on my iframe which I am successfully reading.

From the oficial documentation on canvas authentication

The signed_request parameter is the concatenation of a HMAC SHA-256 signature string, a period (.), and a base64url encoded JSON object.

There is a php code in the documentation which decodes the signed_request but I haven't been able to implement it propertly in C# partly beacuse to be honest I prefer not to reinvet the wheel but to use someone else code that has been already tested.

This is where my quest for a good C# Facebook SDK started again (since facebook changes everything every few months librarys get usually obsolete).

I have used the codeplex's Facebook Developer Toolkit in the past but it seems to be getting outdated ans the lastest stable release is very old (in facebook API time)

Some months ago used the Oficial Facebook C# SDK from GitHub but it lacks completly the authentication support.

Now I have found on Nuget and really liked the Facebook C# SDK from Nathan Totten who is one of the top Facebook Experts here in StackOverflow.

If you Nathan read this (or anyone that also uses this sdk), how can I use this SDK to get an access token to use in my canvas app.

Anyway if there is a better way to get a token, maybe with the Javascript library please let me ( and the people who wonder the same as me ) know.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

椒妓 2024-10-10 17:59:29

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

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

另外,请参阅我对此问题的回答:facebook-C#-sdk MVC“Hello World”应用程序 - 如何获取访问令牌?

希望这有帮助,否则让我知道您是否还有其他问题。

Hey, Carlos. So to get the access token, you just need to do the following after the user has authenticated:

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

Also, see my answer to this question: facebook-C#-sdk MVC "Hello World" app - how to get access token?

Hopefully that helps, otherwise let me know if you have any other questions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文