1

我正在创建一个包含网站和移动应用程序的解决方案。我将在网站上使用 Zend-Framework 2。所以,为了让它变得更好,我想知道构建它是否是一个好主意:

  • 一个 REST Web 服务(使用 zf2)
  • 另一个将调用 REST ws 的网站(使用 zf2)
  • 将调用 REST ws 的移动应用程序

我将使用 OAuth 进行身份验证和安全性。我的问题是,如果我的网站通过调用 REST ws 获取数据,它必须在每次调用时发出数据库请求以检查令牌,而如果我做一个“普通”网站,我的应用程序将能够使用会话存储连接用户的信息。因为,就我所阅读的内容而言,没有与 OAuth/REST 进行会话这样的事情,因此对于每次调用,我都有一个额外的 sql 请求来检查令牌的有效性。

制作完整的 REST 服务是否仍然是一个好主意,即使是针对网站或拥有一个“普通”网站以及仅针对移动应用程序的 REST 服务 API?

谢谢

4

1 回答 1

1

Oauth 是一个服务器到服务器的身份验证框架。就像它在移动应用程序和您的 API 服务器、网站与您的 API 服务器等之间一样。您可以采用一种方法,您只为您的网站客户端生成一个访问令牌,而不是为来自网站的每个用户生成多个访问令牌。此访问令牌存储在您的网络服务器与网站中的用户 cookie 中。最终目的是识别您的 REST WS 的所有客户端,并且您的网站是它的客户端之一,也是一个非常受信任的客户端。这样,您可以缓存访问令牌以避免数据库调用(通常缓存时间可以等于或小于令牌到期时间)。请为此探索 oauth 规范中指定的多种授权类型

关于在您的网站中为用户维护会话,它不取决于后端是否是 REST WS,它可以在您的网站中处理

于 2013-10-05T04:48:02.470 回答