我想让用户使用他们的Facebook ID登录我的网站,而无需重新加载页面.这就是我使用Facebook Javascript SDK的原因.此方案使用此SDK描述授权流程:

在流程结束时,我知道用户已登录,我知道他们的Facebook ID.然后我可以通过此ID在我的数据库中注册它们,然后让它们用它来登录.
然而,这似乎非常不安全.为了让我的服务器端脚本知道用户的ID,我必须通过AJAX发送它.但是,我无法知道它是否是ID的所有者谁正在尝试登录.任何人都可以发送带有ID的POST请求(特别是一个获取另一个用户的ID).
我目前的想法是让用户像往常一样通过JS SDK登录,通过AJAX将ID和访问令牌发送到服务器,然后在PHP脚本中使用cURL以确保用户实际登录.
这是要走的路,还是我忽略了更好的选择?
security authorization facebook facebook-javascript-sdk facebook-login
我正在尝试从Facebook JS SDK的文档中运行第一个示例.我创建了一个新的应用程序,创建了一个名为"facebookTest.html"的空白文档,粘贴在示例的代码中,并插入新应用程序的App ID.代码如下:
<html>
<head>
<title>Login with facebook</title>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'my app ID', // App ID from the App Dashboard
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
xfbml : true // parse XFBML tags on this page?
});
// Additional initialization code such as adding Event Listeners …Run Code Online (Sandbox Code Playgroud) 我想在我的网站上点击一个"邀请朋友"链接,然后你会看到一个Facebook对话框,要求你选择你想邀请哪些朋友.那些朋友要么得到申请请求,Facebook电子邮件或至少一个墙上的帖子邀请他们加入我的网站.
对于这样做的正确方法,我有点困惑.现在看来唯一不推荐的方式是通过Requests Dialog.所以我将FB.uiJavascript方法称为他们提供的示例:
FB.ui({
method: 'apprequests',
message: 'You should learn more about this awesome game.',
data: 'tracking information for the user'
});
Run Code Online (Sandbox Code Playgroud)
然后被邀请者将在登录Facebook时收到申请请求.当他们"接受"该请求时,他们将被引导到我的Facebook画布应用程序,在那里我读取了从Facebook传递的初始请求ID,所以我知道这是什么,然后我想我可以将用户重定向到我的网站?我不喜欢这个,因为我现在必须学习如何构建一个画布应用程序,但这是通过Facebook功能邀请朋友的正确方法吗?
理想情况下,邀请朋友按钮会调出Facebook好友选择器(如果用户尚未登录FB,则登录),然后在这些朋友的墙上发布.发布的消息将有一个简单的链接回到我的网站.这可能吗?
facebook facebook-graph-api facebook-javascript-sdk facebook-invite facebook-friends
从今天开始,我们在auth对话框中收到开发人员警告,并显示以下消息:
您在大型浏览器窗口或选项卡中使用显示类型的"弹出窗口".为了获得更好的用户体验,请使用我们的JavaScript SDK显示此对话框,而不指定显式显示类型.SDK将为每个环境选择最佳显示类型.或者,如果您有特殊要求阻止您使用SDK,请在window.open()调用上设置高度和宽度以正确调整此对话框的大小.此消息仅对您的应用程序的开发人员可见.

我们有以下情况:
在PHP-SDK本身引用正确地使用它自己的代码中的"显示弹出="的:
如果您在JavaScript中使用生成的URL和window.open()调用,则可以将display = popup作为$ params的一部分传递.
该JS-SDK文档说,打开的弹出窗口的最大尺寸应为400x580:
用于浏览器弹出窗口不超过400px乘以580px.使用此显示类型可以维护用户的上下文,而无需执行整页重定向.
所以,总结一下:根据文档,上面的实现应该没问题.是否有其他人有此警告或解决方案?
javascript facebook facebook-javascript-sdk facebook-php-sdk
我有一个使用Facebook JS API的简单页面,导致Firefox 27.0.1中出现错误.我已经将它剥离到初始化代码,我仍然得到错误.我没有在IE中得到错误.(我用1代替了真正的应用ID.)
知道是什么导致了这个吗?为什么Firefox中存在"chrome-extension"错误?

<http>
<head>
</head>
<body>
<div id='fb-root'></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : '1111111111111111',
status : true,
xfbml : true
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
</body>
</http>
Run Code Online (Sandbox Code Playgroud) 我有一个Facebook登录实现(对于一个网站,使用javascript API)我想要"电子邮件"权限.当用户首次登录时,他们可能会拒绝此权限 - 这很容易通过后续查看/ me/permissions端点来检测.如果我发现他们已经拒绝了,我不会继续登录.到现在为止还挺好.
然后在后续登录期间,为了确保重新提示他们获得该权限,我在登录按钮中包含auth_type ="rerequest"(可以通过xfbml或带有onclick = FB.login(...)的链接进行渲染) ).
虽然这似乎有效,但我的问题是:如果我总是希望获得所需的权限,那么在我的登录按钮中是否有任何不利之处,包括auth_type ="rerequest"? 我在文档中没有看到任何相反的内容,并且似乎没有对未拒绝权限的新用户或用户产生任何不利影响(即,它只会更改登录流程 - 通过重新提示用户是否已经拒绝了什么.我想要的行为是什么.
良好的做法似乎要求我只应该在我确实知道我想重新提示的时候才包括这个,但是为了这个问题,我想知道是否有任何陷阱只是总是包括它.
facebook-graph-api facebook-javascript-sdk facebook-login facebook-graph-api-v2.0 facebook-permissions
我知道这个问题经常被问到,但我还没有找到解决方案.我用这个代码:
打开html标签
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
Run Code Online (Sandbox Code Playgroud)
在我开始标记后的索引中我输入了这个
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'MY_APP_ID', // App ID from the app dashboard
status : true, // Check Facebook Login status
xfbml : true // Look for social plugins on the page
});
// Additional initialization code such as adding Event Listeners goes here
};
// Load the SDK asynchronously
(function(){
// If we've already installed the SDK, we're done
if (document.getElementById('facebook-jssdk')) {return;} …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法让我的客户端使用facebook JS SDK进行授权,然后以某种方式将此授权转移到我的节点服务器(因此它可以使用fb graph api验证请求)
我偶然发现:https: //github.com/jaredhanson/passport-facebook/issues/26
&
https://github.com/drudge/passport-facebook-token
看起来与passport-facebook完全不同的策略.
在假设时我是否正确:
一个用fb JS SDK登录,然后facebook-token策略以某种方式从文档或正文对象中提取标记和fb id?
或者还有其他正确的方法来实现这一目标吗?我就是试图避免服务器SDK强制执行的重定向
node.js facebook-javascript-sdk facebook-oauth passport-facebook passport.js
我想知道上面提到的标题是什么.当我对Facebook进行JSONP调用时,甚至在我访问http://static.ak.fbcdn.net/时,它都包含在响应中
我还没有在facebook上找到任何文档,例如https://developers.facebook.com/docs/reference/ads-api/etags-reference/
所以,希望有人可以帮助我.谢谢!