首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测用户何时通过新的Facebook身份验证推荐

检测用户何时通过新的Facebook身份验证推荐
EN

Stack Overflow用户
提问于 2012-02-02 06:20:44
回答 2查看 535关注 0票数 1

有了新的FB认证系统中的新认证推荐,用户甚至在点击我的应用程序之前就登录了。

我的问题是,有没有什么方法可以检测到用户刚从这些经过身份验证的引用对话框中过来?例如,通过在它们上指定redirect_uri并附加一些GET参数。

EN

回答 2

Stack Overflow用户

发布于 2012-02-02 06:33:00

如果你转到https://developers.facebook.com/apps/YOUR_APP_ID/summary,你可以设置你的应用程序的域名和网站。

脸书,出于安全原因,将只重定向到您在这里设置的网站,传递给您HTTP GET url中的一些参数(例如,刚刚为该用户生成的访问令牌),要决定您要接收这些参数中的哪一个,您必须转到设置->身份验证对话框,然后在页面底部的身份验证引用->身份验证令牌参数。

编辑:如果你想确保用户刚刚使用了身份验证对话框,你可以使用一个简单的解决办法:从url读取访问令牌,然后检查这是否是第一次看到这个令牌,如果是这样的话,你可以通过执行一个简单的操作来测试令牌的有效性,这个特定用户接受了你(或者更好的facebook应用程序)可以对他的个人资料做的操作。最简单的方法可能是向以下地址发送请求:

代码语言:javascript
复制
https://graph.facebook.com/me?access_token=...

如果令牌有效,则它是可靠的。

票数 0
EN

Stack Overflow用户

发布于 2012-11-09 22:19:53

我自己一直在研究这个问题。如果Facebook刚刚超过了auth_ref=true或者别的什么,情况会好得多。无论如何,我想出了一个使用cookie的系统。

我已经有一个页面,我用它作为fb auth dilaog的重定向url。此页初始化用户并设置cookie。如果该cookie不存在,且签名请求具有令牌,则我将重定向到此页面。我不知道用户是来自认证的推荐,还是来自书签之类的其他路径,但对我来说无关紧要。

您可以在http://developsocialapps.com/authenticated-referrals-facebook-apps/上查看详细信息。

基本上是这样的:

代码语言:javascript
复制
// on somepage.php
if (signed request has token && url is not redirect page && user doesn't have cookie) {
    redirect to redirect.php;
}

// on redirect.php
set cookie;
redirect back to somepage.php
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9104236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档