【问题标题】:I want to restrict a user to access data of other users through API我想限制一个用户通过 API 访问其他用户的数据
【发布时间】:2018-08-27 21:10:33
【问题描述】:

我已经实现了基于令牌的身份验证和授权。我在会话中存储令牌的值。如果用户获得令牌,如何限制用户访问其他用户的数据。我只在标题中传递令牌。因此,如果用户无论如何都能够获取令牌值,那么他就可以访问任何用户的任何 API。我在 jQuery 中调用 apis。

【问题讨论】:

  • 这是隐式身份验证的重点。用户使用他们的令牌信任他们的浏览器。如果您以任何方式隐藏它,浏览器将无法使用它。
  • 尽量不要在查询参数中传递敏感信息——这是常见的做法,因为服务器端有记录器和其他相关的东西
  • 所以...一个令牌可以让您访问整个 API 吗?为什么您不限制令牌对特定用户数据的访问权限?

标签: javascript c# api token access-token


【解决方案1】:

首先,为什么要在会话中保存令牌的值?这没有任何意义,因为您的授权依赖于会话,而不是依赖于令牌。如果您将密码和用户名交换为令牌,请不要使用会话,因为令牌变得多余 - 您正在通过会话 cookie 授权用户。

另外,这就是令牌的想法 - 只工作一个小时(大多数服务使用这个时间来保证令牌的生命周期)。因此,如果您没有实施 OAuth 身份验证策略,为什么首先要使用令牌?如果你这样做了,为什么要使用会话?我认为您在这里混合了不同的方法。

【讨论】:

  • 我通过传递用户名和密码在 c# 中获取令牌的值,并且我在 jQuery 中调用 API。所以我将令牌存储在会话中以便我可以在 jquery 中使用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多