如何验证从服务器重定向中收到的oAuth令牌?

时间:2013-04-28 18:40:07

标签: facebook login oauth token

我想允许用户使用oAuth(facebook / twitter)登录我的网站,但是如果我在客户端对其进行身份验证,我无法理解安全模型的工作原理。

当用户进行身份验证时,我会收到带有authToken和ID的重定向。许多答案建议使用ID在我的数据库中查询/存储用户的信息,但这是不安全的,因为任何人都可能知道ID并检索任何人的数据。

我应该使用服务器的authToken检查它是否有效并与ID匹配?或者它是否认为登录用户访问我的网站的唯一方法是使用服务器端身份验证?

谢谢,

- 基因

1 个答案:

答案 0 :(得分:0)

实际上,在客户端进行oAuth是不安全的。 存储access_token在客户端是可以的,实际上是票证,可以销毁或过期。你可以使用用户access_token来交换用户ID(graph.facebook.com/me),这也是安全的,因为在Facebook内使用id是免费的。

您的应用访问令牌不安全,需要您的app_id和app_secret通过graph.facebook.com/oauth/access_token进行交换,这必须保存在服务器端。