Facebook signed_request验证但解码的有效负载中没有数据:C#

时间:2010-09-03 20:36:31

标签: c# asp.net facebook

人们,非常感谢你对此的帮助,因为我可能只是错过了一些非常明显的东西。基本上,我正在尝试在C#ASP.NET中开发一个Facebook画布iframe应用程序,企业可以在粉丝页面上安装,用户可以通过选项卡进行访问。

主要要求:  1.商家点击安装,将他们带到apps.facebook.com/myapp  2.我需要检查一下我的Facebook个人资料是否有数据库记录  3. N:显示业务输入唯一代码的页面。保存配置文件ID和代码  4. Y:显示与该业务相关的数据库中的数据。

问题: 我在Facebook创建了应用程序并创建了一个单页的ASP.NET网站。该应用程序在IIS下的我的开发机器上运行。当我在Facebook上访问该应用程序时,它会点击我的页面。我使用API​​密钥检索并验证signed_request。但是,解码的有效负载仅包含SHA256参数,不包含用户,oauth或配置文件数据。

我还需要做其他事情,还是我的做法完全错误? 感谢任何关于此的指导。

2 个答案:

答案 0 :(得分:0)

  • 您是否需要用户身份验证,进行完全握手?

  • 您是否在Facebook应用中启用了“OAvas 2.0 for Canvas(beta)”迁移?这是您的应用配置的最后一个标签。

答案 1 :(得分:0)

如果在画布页面内访问iframe的用户未授权您的应用,则signed_request中的有效负载将如下所示:

{     “算法”: “HMAC-SHA256”     “issued_at”:1286824906 }

另一方面,如果您的用户已授权您的应用,则signed_request中的有效负载将如下所示:

{     “算法”: “HMAC-SHA256”     “过期”:1286827200,     “issued_at”:1286821560,     “oauth_token”:“一些令牌”,     “user_id”:“一些ID” }

因为您在有效负载内缺少user_id,所以听起来用户尚未授权您的应用。