【发布时间】:2019-12-08 02:22:33
【问题描述】:
所以我正在为我正在构建的网络应用程序设计一个 REST API。将来,API 也将是公开的,而不仅仅是由应用程序的客户端使用。
当对某些资源进行 POST 时,我想知道哪个用户执行了该操作,因为将来编辑该资源将仅限于创建它的用户。这对于公共 API 来说非常简单,每个用户都有自己的身份验证令牌。
但是,出于 Web 应用程序的目的,我认为我的客户端将只有自己的令牌来使用 API。将当前登录的用户 ID 包含在来自客户端的请求中的最佳方式是什么?
我的想法
- 在请求中将当前用户 ID 作为自定义标头发送。可能是我想到的最简单的解决方案。
- 将当前用户 ID 作为正文属性发送。这同样简单,但我不喜欢网络应用发送与公共 API 使用者不同的请求正文的想法。
- 为我的客户端为每个登录的用户提供不同的令牌。这似乎过于复杂,不值得努力。
- API 会话。我对此并不太了解,这似乎是不必要的工作。
这个问题的最佳解决方案可能是什么?
【问题讨论】:
标签: rest api web-applications