一、登录facebook开发者中心:https://developers.facebook.com

二、创建应用编号,如下图:

三、添加产品选择Facebook登录,如下图:

四、facebbok登录设置指定要跳转的url,如下图:

五、填写网站地址,根据提示完善相关信息,如下图:

六、前端代码接入,代码如下:

<li><a href="javascript:facebook_login();" class="xq-facebook"><i class="share-icon-facebook"></i></a></li>
<script>
function facebook_login() {
FB.login(function (response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Good to see you, ' + response.name + '.');
checkLoginState()
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {
scope: '',
return_scopes: true
}); } var fbId, fbToken;
function checkLoginState() {
FB.getLoginStatus(function (response) {
statusChangeCallback(response);
});
} function statusChangeCallback(response) {
if (response.status === 'connected') {
fbId = response.authResponse.userID;
fbToken = response.authResponse.accessToken;
getUserInfo();
} else if (response.status === 'not_authorized') {
console.log('facebook未经授权');
} else {
console.log('不是登陆到Facebook;不知道是否授权');
}
} function getUserInfo() {
FB.api('/me', function (response) {
console.log('Successful login for: ' + response.name);
//获取facebook返回的信息
var data = {
nickName: response.name,
avatar: 'http://graph.facebook.com/' + fbId + '/picture?type=large',
openId: fbId,
accessToken: fbToken,
loginType: 'FACEBOOK'
}
console.log(data); });
}
</script>

Web网站实现facebook登录的更多相关文章

  1. 钉钉授权第三方WEB网站扫码登录

    一.阅读开发文档 首先阅读钉钉官方的开发文档,扫码登录其实用的是官方文档描述的第二种方式,即将钉钉登录二维码内嵌到自己页面中,用户使用钉钉扫码登录第三方网站,网站可以拿到钉钉的用户信息. 二.准备工作 ...

  2. Web网站实现Google登录

    一.打开谷歌控制台:https://console.developers.google.com/apis 二.点击创建凭据,如下图,填写项目地址等 三.创建好客户端ID和秘钥后,填写对应的项目网址和登 ...

  3. (钉钉)第三方WEB网站扫码登录

    年底在做钉钉和公司的知识库产品的对接,怎么使用钉钉api的如下: 第一步: 登录:https://oa.dingtalk.com/#/welcome 这点可以自己建立一个企业账号进行测试 点击工作台建 ...

  4. NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证

    JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器.每一种解析器都是一个运行环境,不但允许J ...

  5. 搭建开发框架Express,实现Web网站登录验证

    NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证   JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需 ...

  6. JWT(JSON Web Token) 多网站的单点登录,放弃session

    多个网站之间的登录信息共享, 一种解决方案是基于cookie - session的登录认证方式,这种方式跨域比较复杂. 另一种替代方案是采用基于算法的认证方式, JWT(json web token) ...

  7. JWT(JSON Web Token) 多网站的单点登录,放弃session 转载https://www.cnblogs.com/lexiaofei/p/7409846.html

    多个网站之间的登录信息共享, 一种解决方案是基于cookie - session的登录认证方式,这种方式跨域比较复杂. 另一种替代方案是采用基于算法的认证方式, JWT(json web token) ...

  8. 实现Web上的用户登录功能

    关于如何实现web上的自动登录功能 文章来源http://coolshell.cn/articles/5353.html Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能 ...

  9. 你会做Web上的用户登录功能吗?

    Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能.下面的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关 ...

随机推荐

  1. pdf 中画虚线

    <?php require('fpdf.php'); class PDF_Dash extends FPDF { function SetDash($black=null, $white=nul ...

  2. HDFS部署测试记录(2019/05)

    目录 HDFS部署测试记录 0.HDFS基础知识 1.基本组成结构与文件访问过程 2.NameNode启动时如何维护元数据 3.HDFS文件上传流程 1.系统环境 1.安装大致记录: 2.磁盘分区 3 ...

  3. 【转】Revit二次开发——读取cad中的文字信息

    Revit读取cad的文字信息需要借助Teigha的开源dll,在程序中添加下图中红色框的dll文件的引用,其他的dll文件全部放在同一个文件夹中即可,运行的时候,会自动把这些dll文件全部复制到bi ...

  4. BIO,NIO,AIO到NETTY

    NIO 近期接触了几个产品都触及NIO,要么应用,要么改造项目,听多了也有些了解,但仍然不能真正理解,工期比较赶,还是要潜心下来看看. NIO是什么呢,应该是NOT-BLOCKING IO的意思,不阻 ...

  5. Celery-系统守护进程

    1. 使用systemd控制Celery 用法: systemctl {start|stop|restart|status} celery.service 配置文件: /etc/celery/cele ...

  6. 细说RESTful API之幂等性

    目录 接口幂等性的含义 接口符合幂等性有什么用处 HTTP方法的幂等性与安全性 如何设计符合幂等性的接口 写在最后 接口幂等性的含义 幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同. ...

  7. 量化编程技术—matplotlib与可视化

    import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D np.random ...

  8. window 10 U盘启动制作教程

    微软win10工具下载链接https://www.microsoft.com/zh-cn/software-download/windows10?OCID=WIP_r_Win10_Body_AddPC ...

  9. spring security实现记录用户登录时间等信息

    目录 spring security实现记录用户登录时间等信息 一.原理分析 二.实现方式 2.1 自定义AuthenticationSuccessHandler实现类 2.2 在spring-sec ...

  10. tp3.2 如何比较两个字段

    使用exp if ($_GET['owe_property'] || $_GET['owe_property'] !== NULL) { if ((int)$_GET['owe_property'] ...