gpt4 book ai didi

facebook - 使用 facebook 登录我的网站

转载 作者:行者123 更新时间:2023-12-02 19:57:27 25 4
gpt4 key购买 nike

我正在尝试将 Facebook 登录按钮合并到我网站的主页中。我已经将它与一个应用程序连接起来,所以我有应用程序 ID 和 secret ,但我不知道如何检查用户是否已经注册到我的网站,所以在我的数据库中,以便预览他的用户个人资料。我使用了 facebook 的 javaScript sdk,但是当我按下 facebook 的登录按钮时,授权后没有任何反应,我的网站主页再次显示。有谁知道如何从javascript sdk获取用户的电子邮件?我的页面使用 java servlet。我使用了 facebook 文档中的代码。

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '8568345835', // App ID
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});

// Additional initialization code here
};

// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>

<div class="fb-login-button" data-scope="email">

最佳答案

https://developers.facebook.com/docs/authentication/

客户端流程

客户端流程还为用户使用 OAuth 对话框身份验证和应用程序授权。唯一的区别是你必须指定值为 token 的 response_type 参数:

https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&response_type=token

与服务器端流程一样,您还可以使用范围参数请求其他权限:

https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream&
response_type=token

这可能是可能的,但这不是最佳实践。我建议引入一些服务器端脚本(即 PHP),但如果您仅使用 Facebook Javascript SDK 来获取一些用户数据,那么此方法可能会很有用。工作流程是这样的。

  1. 用户点击 Facebook Connect 按钮,该按钮会重定向至:

    https://www.facebook.com/dialog/oauth? client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&response_type=token

  2. Facebook 检查 YOUR_APP_ID 和 URL 并执行身份验证

  3. 重定向到您的网址。

http://YOUR_URL#access_token=166942940015970%7C2.sa0&expires_in=64090

...URL 中带有访问 token 。

稍后您将从 URL 中提取 token 并使用它通过 AJAX 请求执行 FQL(Facebook 查询语言),并获取用户数据。

此处描述:https://developers.facebook.com/docs/reference/fql/

关于facebook - 使用 facebook 登录我的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9594244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com