2

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

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

我应该使用服务器中的 authToken 来检查它是否有效并与 ID 匹配吗?还是假设让用户登录我的网站的唯一方法是使用服务器端身份验证?

谢谢,

-基因

4

1 回答 1

0

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

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

于 2015-11-27T06:47:47.707 回答