facebook登录集成如何在内部工作?

时间:2016-08-28 13:40:31

标签: java web-applications single-sign-on facebook-login

我想将我的网络应用程序与facebook集成,但首先我想知道它在技术上是如何工作的。 google / youtube上的任何地方我找到了整合我的步骤 应用程序与Facebook但无处解释它在技术上如何工作

1)当我点击facebook登录我的网站时,哪些用户信息会转到facebook,哪些信息来自app开发者。我相信cookies中的sessionid还有什么呢?

2)facebook返回我的网络应用程序的响应。

3)我的应用程序将如何确定其相同的返回用户,因为多个用户可以具有相同的名称。 FB是否与我的应用共享恒定的唯一标识符 每次用户通过身份验证?这个唯一标识符是否适用于每个Web应用程序?

在这种情况下是否有一个好的资源或者有人可以解释它,它会很棒。

以下是我自己的理解oAuth facebook登录集成在阅读此manually-build-a-login-flow30-minute-guide-integrating-facebook

之后的工作原理

假设我的网络应用程序名称为www.LearnSocialLogin.com,我希望与facebook登录集成。以下是高级技术/内部步骤 幕后: -

  1. 我将使用我的网络应用程序在facebook上注册并返回URL为www.LearnSocialLogin.com。它将生成appId(一种公钥)和appSecret(一种私钥)
  2. 我将在我的网络应用程序上显示facebook登录对话框
  3. 如果用户已登录,则用户可以执行单点登录选项,允许他利用现有的facebook会话
  4. 如果验证成功,则FB会显示另一个要求许可的对话
  5. 如果用户说“是”,请求将转到FB服务器,服务器发回唯一代码并将用户重定向到我的www.LearnSocialLogin.com服务器。
  6. 我的Web应用程序使用该唯一代码和应用程​​序密钥连接FB API
  7. FB将生成令牌代码
  8. 现在,Web应用程序(www.LearnSocialLogin.com)服务器端使用FB服务器验证令牌,并使用其他数据获取user_id
  9. 此过程是否正确?

    如果是,我的问题是关于FB服务器在步骤中发送的user_id ...我相信FB将发送相同的user_id,每个令牌都经过身份验证。对 ? 如果是,FB是否为每个Web应用程序发送相同的user_id,或者对于所有Web应用程序,每个用户是否相同?

0 个答案:

没有答案