0

我目前正在编写一个 API 来服务我的网络应用程序。该APP非常面向客户端,前端有javascript处理路由和渲染等。为了提高可扩展性,API 是一个完全独立的资源。有了这个设置,我需要不断地从前端调用 API 来接收不同类型的数据。

API 公开的一些服务应该只能由授权用户访问。因此,每当用户登录时,他们都是经过授权的服务器端并access_token创建了一个,它应该通过HTTP Auth.标头传递或作为对受保护服务的每个请求的查询字符串。我担心的是自动化授权请求并避免损害我需要存储的 API 的“RESTful”access_token在客户端缓存短期内并作为返回用户的 cookie。

我的问题是,以这种方式授权有意义吗?我觉得在这个开发阶段我不需要使用 oauth,因为 API 只会被 APP 本身使用。此外,将“长寿”令牌存储在客户端缓存或 cookie 中以保持登录状态是否安全?

4

1 回答 1

2

实际上,您要求的大多数答案已经在您提出的解决方案中,首先让我说,是的,为用户使用 cookie 很好,这样您就不必一次又一次地进行身份验证服务,从而减少服务器上的负载,加上,既然你已经到了这一步,我相信你已经知道你只需要进行一次身份验证,服务器就会以你的方式识别用户,以及其余的请求主要是针对此经过身份验证的用户的 api 请求。我更喜欢一个短暂的 cookie,或者让我说,我更喜欢一个非常短暂的 cookie,并且这个 cookie 应该根据客户端与服务器的交互超时,这样你可以确保当用户暂时关闭,从您的服务器清除会话是安全的,并且您可以维持某种安全的环境。我希望我回答了你的问题,如果我误解了你,请发表评论。

于 2013-09-28T09:59:18.543 回答