使用oauth登录验证令牌

时间:2015-11-07 10:06:58

标签: facebook oauth server client

我想创建一个使用oauth对我的服务器进行身份验证的应用。 我的问题是这将如何运作?

我的客户端将使用HTTPS与Facebook进行通信并获取访问令牌。然后应该将它发送到我的服务器端进行身份验证?我的服务器应该将令牌保存在数据库中?它如何验证令牌?

1 个答案:

答案 0 :(得分:3)

这将如何运作。吗

当客户端需要授权访问有关用户的某些信息时,浏览器(用户代理)会将资源所有者重定向到OAuth授权服务器。在那里,用户面临一个身份验证对话框(如果用户已经过身份验证,则不会显示此对话框),之后会向他或她显示一个授权对话框,说明客户端请求的权限,以及需要访问的信息或代表他或她需要采取的行动。

访问令牌应该将它发送到我的服务器端进行身份验证?或者服务器应该将令牌保存在db?

根据您的描述,我建议使用服务器端登录流程。 - 因此令牌已经在您的服务器上,并且不需要从客户端传递。如果您使用的是非加密连接,则可能存在安全风险。

(在用户成功登录后,使用HTTPS将用户的ID令牌发送到您的服务器。然后,在服务器上,验证ID令牌的完整性,并从ID令牌的子索引中检索用户的ID。可以使用以这种方式传输的用户ID来安全地识别后端上当前登录的用户。)

- 见

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.2#login

如何验证令牌?

您可以点击此链接,获取应用的分步解决方案。 Facebook access token server-side validation for iPhone app