我在线阅读并了解如何使用FB连接以及如何创建使用fb登录的应用程序。我想知道的是,是否可以在身份验证之间操纵数据。
所以这就是我所困惑的。所以我们有
因此,当我打开我的应用程序时,我的应用程序将要求fb登录和pw,我们将这些信息发送到FB服务器。 FB服务器然后给我的应用程序一个令牌,然后我的应用程序将令牌发送到我的服务器,然后我的服务器将验证FB服务器?这是怎么回事?
如果这就是它的工作方式,为什么FB登录没有黑客攻击,那么人们不能制作假代币吗?
答案 0 :(得分:0)
Facebook使用OAuth 2.0,这是开放授权的当前标准。这是维基百科的简短描述:
OAuth为客户端应用程序提供了一个安全的委派访问权限'至 代表资源所有者的服务器资源。它指定了一个过程 资源所有者授权第三方访问其服务器 没有共享凭据的资源。专门设计 使用超文本传输协议(HTTP),OAuth基本上允许 访问令牌将通过授权发给第三方客户 服务器,经资源所有者或最终用户批准。该 然后,客户端使用访问令牌来访问受保护的资源 由资源服务器托管。[1] OAuth通常用作一种方式 网上冲浪者使用他们的Google登录第三方网站, Facebook或Twitter密码,无需担心其访问权限 凭证受到损害。
您可以阅读RFC规范以获取更多详细信息:http://tools.ietf.org/html/rfc6749 您还可以阅读有关不同集成的信息:http://oauth.net/2/
您无法创建虚假令牌。用户在输入用户名和密码后会收到一个令牌,这意味着盗取他的令牌相当于窃取他的凭证,因为该令牌是随机生成的。
我将很快解释这个流程: 我是一个用户,在一般的Facebook和您的应用程序中使用。我登录Facebook并通过Facebook或外部链接访问您的应用程序并单击它。然后facebook会询问我是否要与您的应用程序共享我的个人信息(这是因为我已登录。如果我不是,那么它会询问我的用户名和密码)。如果我同意,Facebook将向您的应用程序发送访问令牌,您将访问我的个人信息。因此,这种访问将受到严格限制,您无法做任何有害的事情,并且它会在几次后过期,具体取决于实施情况,但应该在一小时左右。
答案 1 :(得分:0)
根据您的问题,即使是一套针对您应用程序的所有目的的“假”凭据也将是一个虚拟登录(因为用户存在于Facebook上)。 Facebook基本上认证该人是有效的人。一个人不能制作假的facebook令牌,因为它已签名