问题标签 [facebook-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4918 浏览

facebook - 从 asp.net webforms iframe 画布应用程序获取 oAuth 2.0 访问令牌

这个问题说明了一切:

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

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

替代文字

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

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

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

文档中有一个 php 代码可以解码,signed_request但我无法在 C# 中正确实现它,部分原因是老实说,我不想重新设计轮子,而是使用已经测试过的其他代码。

这就是我重新开始寻求一个好的 C# Facebook SDK 的地方(因为 facebook 每隔几个月就会改变一切,库通常会过时)。

我过去使用过 codeplex 的Facebook Developer Toolkit,但它似乎已经过时了,因为最新的稳定版本非常旧(在 facebook API 时间)

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

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

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

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

0 投票
1 回答
3536 浏览

security - Facebook 的使用 redirect_uri 的客户端身份验证流程是否中断?

如果我理解正确,要从我的桌面应用程序进行 API 调用(让我们从现在开始在 OAuth2 标准中的“客户端”上调用它)我需要获取一个 access_token,它是一个结合了应用程序 ID 和用户的标识符,我想访问谁的数据,id(“资源所有者”)。

遵循身份验证指南(developers.facebook.com/docs/authentication/)上的客户端流程,我了解我需要向 h**ps://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=http 发送请求://example.com&response_type=token。结果,页面将被重定向到 h**p://example.com/#access_token=XXX。如果客户端是纯桌面应用,那么redirect_uri可以是h**p://www.facebook.com/connect/login_success.html。由于客户端拥有 Web 控件,因此可以轻松地从重定向地址中提取 access_token。

客户端流程由 3 个 OAuth 步骤组成:

  1. 用户身份验证,如果资源所有者未登录 Facebook,将显示一个对话框,询问 Facebook 凭据。如果资源所有者已登录,会话将使用 Facebook 服务器上的 cookie 进行身份验证。安全 - CHECK V!
  2. 应用授权,如果资源所有者尚未授予应用权限,则权限对话框将要求资源所有者授予应用权限,如果资源所有者先前已授予所有需要的权限,则不会显示权限对话框。安全 - 检查 V!
  3. 应用程序身份验证 - 现在,这是它变得棘手的地方。该指南说:“通过验证 redirect_uri 与开发人员应用程序中配置的站点 URL 位于同一域中来处理应用程序身份验证”。安全 - 在我看来 -失败

为什么我认为最后一步是安全失败?首先,app id 和redirect_uri 都是任何人都可以获得的公开信息。其次,redirect_uri 可以是 h**p://www.facebook.com/connect/login_success.html。

让我们看看下面的场景。桌面应用程序 EVE 向用户显示了一个 Web 控件,用户在其中登录 facebook 并授予 EVE 一些基本权限。资源所有者没有理由怀疑任何事情。接下来,EVE 隐藏 web 控件,并尝试在其上加载 h**ps://www.facebook.com/dialog/oauth?client_id= OTHER_APP_ID &redirect_uri=http://www.facebook.com/connect/login_success .html&response_type=令牌。该应用程序可以尝试使用最流行的 Facebook 应用程序应用程序 ID 加载此 url。如果用户之前授权了 OTHER_APP,应用程序将收到成功消息,因为登录对话框和权限对话框都不会显示。这将给 EVE 一个 access_token 来访问资源所有者授予 OTHER_APP 而不是 EVE 的资源所有者的所有资源。

那么,这是一个安全漏洞吗?我错过了以下内容吗?

(更新)

显然,在桌面应用程序的情况下,安全问题是无关紧要的,因为应用程序已经有了用户名和 facebook 会话,甚至用户名和密码,它可以对用户帐户做任何事情。

(更新) 对于在 Web 浏览器中运行的 JavaScript 应用程序,redirect_uri 确实有效!(请参阅 hnrt 的回答和评论)。

当前问题: 唯一剩下的谜团是客户端身份验证如何在 iPhone 和 Android 应用程序上工作?安全性是否与使用桌面应用程序时的安全性相似?越狱的 iPhone 或 root 的 Android 有什么区别吗?

干杯!

0 投票
2 回答
580 浏览

php - Facebook 应用程序身份验证问题

我编写了以下代码来验证 facebook 应用程序,但是很多天它都没有解决,而不是 google。问题是首次访问应用程序时,用户会提示应用程序身份验证对话框。当用户允许应用程序时,它会不断闪烁 url。既不显示对话框也不显示应用程序。关闭浏览器后是的,它运行良好。请你找出问题所在。我将非常感激。

代码:

0 投票
2 回答
1744 浏览

facebook - 简单的基于 iframe 的 Facebook 身份验证

我编写了一个 facebook 应用程序,但身份验证无法正常工作。尽管谷歌搜索了几个小时,但它并没有解决。请编写正确验证用户身份的脚本,如果用户单击允许按钮,只需显示文本“欢迎”,假设我已经编写了所有基本的 suff aas ..

0 投票
5 回答
20969 浏览

facebook - Facebook iframe 选项卡签名请求始终为空

我正在使用 Facebook 应用程序选项卡,并希望使用此处记录的签名请求包:http: //developers.facebook.com/blog/post/462/

我正在尝试使用他们的示例代码来解包应该传递给选项卡的签名请求,但是 , $_POST,$_GET并且$_REQUEST总是空的。

确切的代码适用于画布页面,我能够解析签名的请求。

他们最近的公告中有什么我遗漏的吗?

顺便说一句,该应用程序没有发布到市场,我的标签安装在的粉丝页面是私有的。这会有所作为吗?

-赛斯

0 投票
2 回答
3230 浏览

php - Facebook API:如何发布到页面墙

情况与此处相同,但现在我需要在 Facebook页面的墙上发布消息。

我尝试了以下(其他代码与答案相同):

但我得到了错误

(#200) 用户尚未授权应用程序执行此操作。

我认为我access_token对那个动作有误,但我在哪里/如何得到正确的?

0 投票
3 回答
5004 浏览

facebook - 有人知道 Facebook 身份验证的好教程吗?

我正在将我的应用程序链接到 Facebook,并希望人们使用他们的 Facebook 帐户登录,但我不知道如何做到这一点。我已经在 Facebook Connect 上阅读过,但似乎不再使用它了——但我能找到的每个教程似乎都提到了它。当我尝试关注他们时,它不起作用,因为界面已经改变。

那么,任何人都可以指导我使用新方法的教程或指南吗?

基本上,我想做的是:

登录 Facebook 并访问我的网页的用户会自动登录到我的应用程序(使用通常的 Facebook“授予权限”窗口等),或者如果他们尚未登录,则可以使用他们的 Facebook 帐户登录。

然后我想使用 Facebook 将用户与他们也在我的网站上注册的朋友联系起来,这样他们就可以分享东西。

我还想从我的网站访问在墙上帖子上发表的 Facebook 评论 - 因此可以在我的网站和 Facebook 上看到特定帖子的评论流,并且可以在其中任何一个上发表评论。

如果有人能指出我正确的方向(或者甚至告诉我我应该在谷歌上输入什么!)我将非常感激。

谢谢。

0 投票
1 回答
259 浏览

javascript - 如果用户单击“不允许”,我可以重定向浏览器吗?

我已经使用 Javascript API 和 FBML 在网站上实现了 Facebook 登录。

当用户单击登录,在弹出窗口中输入他们的凭据,进入下一阶段并在提示权限时单击“不允许”,窗口就会关闭,不会发生其他任何事情。

我想更改它,以便当窗口关闭时,浏览器会重定向到我选择的 URL。

使用Javascript API,我当前的设置是否可行?

0 投票
3 回答
9595 浏览

php - facebook扩展权限

更新 2:

好的,通过更改使其“有点”工作:

对此:

即我添加了header('Location: '.$loginUrl);.

但是页面的行为很奇怪。我必须导航到页面,登录,然后刷新页面,再次登录,然后它会询问我是否允许发布到该页面,最终它会发布到该页面。

为什么我必须登录两次?

更新 1:

我现在有以下似乎不起作用的脚本。在这种状态下,我只是想在自己的墙上发帖,但最终也想在朋友的墙上发帖:

我收到以下错误:

原始问题:

我有以下工作脚本,它允许某人使用他们的 facebook 详细信息登录到我的页面,然后我可以捕获他们的 access_token,以便我可以将它与图形 api 一起使用:

用户登录后,我知道我可以通过以下方式获取他们的朋友列表:

我想不通的是如何使用扩展权限,所以我的应用程序可以发布到用户朋友的 Facebook 墙上。

显然我应该使用扩展权限加上以下内容:

我不明白我应该如何从 PHP 中做到这一点。

0 投票
1 回答
1212 浏览

php - Facebook 应用程序开发 - 使用 PHP 的 Dialog API 进行身份验证

我正在尝试将我的 Web 应用程序与 Facebook 平台集成。

下面是我的测试代码,

有两个问题,

  1. 在进行身份验证(新用户)时,当用户按下“允许”按钮时,浏览器会在我的画布页面和 facebook 服务器之间来回导航。

  2. 当经过身份验证的用户访问该应用程序时,我收到一条错误消息,

    /li>

但是当我复制并粘贴 GRAPH URL

Facebook Developers 文档中提供了两个身份验证示例,我尝试了这两种方法。

该应用程序链接是http://apps.facebook.com/slhoroscope Help !!!