原文链接:https://developers.facebook.com/apps/934011906804843/fb-login/quickstart/

JavaScript 版 Facebook SDK 无需下载和安装任何独立文件,您只需在 HTML 中添加一小段正确的 JavaScript,即可将 SDK 异步加载至您的页面。异步加载不会阻止浏览器加载页面的其他元素。

以下代码片段将提供基础版的 JavaScript 版 Facebook SDK,其中的选项将设置为最常用的默认设置。在要使用 Facebook 分析的每个页面的 <body> 开始标签后直接插入以下代码片段。将 {your-app-id} 替换为应用编号,将 {api-version} 替换为所指向的 API 的版本号。当前版本是:v3.2

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{your-app-id}',
      cookie     : true,
      xfbml      : true,
      version    : '{api-version}'
    });
      
    FB.AppEvents.logPageView();   
      
  };

  (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 = "https://connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

提供给回调的 response 对象包括许多字段:

{
    status: 'connected',
    authResponse: {
        accessToken: '...',
        expiresIn:'...',
        signedRequest:'...',
        userID:'...'
    }
}

status 表示应用用户的登录状态。状态可以是以下某个值:

  • connected — 用户已登录 Facebook 和您的应用。

  • not_authorized — 用户已登录 Facebook,但未登录您的应用。

  • unknown — 用户未登录 Facebook,所以不知道其是否已登录您的应用,或者 FB.logout() 在之前已被调用,因此无法连接至 Facebook。

如果状态为 authResponse,则响应对象将包括 connected,分为以下部分:

  • accessToken — 包括应用用户的访问口令。

  • expiresIn — 表示口令到期且需要更新的 UNIX 时间。

  • signedRequest — 经签名的参数,其中包括应用用户的信息。

  • userID — 应用用户的编号。

知道用户的登录状态后,应用就可以执行以下操作之一:

  • 如果用户登录了 Facebook 和您的应用,可将他们重定向至应用的登录后体验。

  • 如果用户未登录您的应用,或未登录 Facebook,则可以通过 FB.login() 呈现“登录”对话框提示他们登录,或展示“登录”按钮。

使用按钮的 onlogin 属性设置一个 JavaScript 回调,用于检查登录状态,了解用户是否成功登录:

<fb:login-button  scope="public_profile,email"onlogin="checkLoginState();"></fb:login-button>

回调如下所示。它将调用 FB.getLoginStatus() 来获取最新的登录状态。(statusChangeCallback() 是一个函数,属于处理响应的示例的一部分。)

function checkLoginState() {
  FB.getLoginStatus(function(response) {
    statusChangeCallback(response);
  });
}

Facebook认证登录相关推荐

  1. android App 集成 facebook 第三方认证登录

    今天公司一个项目要集成第三方的认证登录,第一次做这种第三方登录,而且因为大陆访问不了 facebook,所以花了比较长的时间才实现功能.其中也有一些需要注意的地方,记录一下,也跟大家一起交流. 一.f ...

  2. 用 Flask 来写个轻博客 (23) — 应用 OAuth 来实现 Facebook 第三方登录

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 第三方登录流程 OAuth 应用 OAuth 实现 Face ...

  3. Java实现Facebook第三方登录

    第一次接触Facebook第三方登录,可能有些地方做的并不全面,只是尝试着做了一个小demo,因为国内接入Facebook的项目并不多,并且多数都是Android或IOS的实现,所以资料也特别少,在此 ...

  4. facebook第三方登录前后端分离

    facebook第三方登录三种实现方式:第三种我认为方便简单 1.js sdk 直接在官网看文档 直接调用他的sdk 官网:https://developers.facebook.com/docs/f ...

  5. spring security 自定义认证登录

    spring security 自定义认证登录 1.概要 1.1.简介 spring security是一种基于 Spring AOP 和 Servlet 过滤器的安全框架,以此来管理权限认证等. 1 ...

  6. drcom宽带认证登录超时_开发SSO单点登录需要注意的问题

    一.单点登录系统开发需要注意的问题 1.单点登录系统需要支持jsonp请求? 单点登录系统主要是向其他系统提供用户身份验证服务,因此需要提供对外接口,而外部系统通过接口访问时,必然涉及跨域问题,因此需 ...

  7. SSH Secure Shell Client用public key认证登录

    SSH Secure Shell Client用public key认证登录 依据secureCRT的经验,走了一段弯路,今天,在这里把操作流程分享一把,可能本篇看似过与简单,但如果想用这一工具的伙伴 ...

  8. linux用户双重认证登录,linux PAM 用户登录认证

    PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制.它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统 ...

  9. Angularjs 通过asp.net web api认证登录

    Angularjs 通过asp.net web api认证登录 Angularjs利用asp.net mvc提供的asp.net identity,membership实现居于数据库的用户名/密码的认 ...

最新文章

  1. Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)
  2. python在教育领域可以干什么_学了Python一般可以用来干什么呢?
  3. 提高电子商务转化率的关键因素
  4. exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合邮件发送
  5. 多线程面试题之原子性、可见性、有序性
  6. 【LuoguP3038/[USACO11DEC]牧草种植Grass Planting】树链剖分+树状数组【树状数组的区间修改与区间查询】...
  7. 编解码标准H264 与 AVS 变换矩阵比较
  8. 多个 VUE 前端工程部署设置、nginx 代理配置
  9. 单片机中去耦电容的使用
  10. html email输入框,html5给文本框实现email域名自动完成效果
  11. Altium AD20中铺铜被导线分割的解决方法,如何正确覆铜整片区域
  12. java mysql 流水号_java实现数据库序号(流水号)
  13. cryptographic algorithms
  14. 年终总结系列1:基于IFRS9的预期损失准备金
  15. 你的计算机没有安装cad2006,win7安装autocad2006无法正常的2种解决方法
  16. (建议收藏) | Spring Boot集成JSON Web Token(JWT)【知识积累】
  17. RN系列:Android原生与RN如何交互通信
  18. 锁相环 matlab 噪声,锁相环(PLL)系统的噪声特性
  19. 【数据库系统原理】数据库课内实验
  20. pytorch 状态字典:state_dict

热门文章

  1. Win11 Build22499.1000预览版更新,可快速共享应用窗口到Microsoft Teams【附win11原版iso镜像地址】
  2. 【NOIP模拟】腐败
  3. CSS处理图片渲染时拉伸和挤压变形
  4. 【数据库原理及应用】——数据库系统结构和组成(学习笔记)
  5. 11、struct 结构
  6. 在处理时有错误发生: sogoupinyin
  7. linux热点连上不通,一个WiFi模块开出多个热点(不可连接)
  8. C语言:输入起始日期与截至日期,计算相距天数。
  9. 21 根火柴游戏(常胜将军)
  10. python dataframe创建指定大小_pandas DataFrame创建方法的方式