当客户也是一个网站时,与oauth的宁静的Web应用程序

时间:2012-10-04 08:18:04

标签: zend-framework session rest oauth

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

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

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

创建完整的REST服务仍然是一个好主意,即使对于网站,还是只有移动应用程序的“普通”网站和REST服务API?

由于

1 个答案:

答案 0 :(得分:1)

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

指定的多种授权类型

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