【问题标题】:How to authenticate user with Fuelphp REST?如何使用 Fuelphp REST 对用户进行身份验证?
【发布时间】:2015-06-26 06:52:17
【问题描述】:

我是 Fuel PHP 的新手……我正在开发一个在 Fuelphp 中使用 REST 架构的项目……我没有找到任何教程如何实现所需的功能“使用 Fuel PHP REST 进行用户身份验证”。

由于REST服务器是无状态的,我们如何在rest api中使用fuelphp的auth包?

【问题讨论】:

    标签: rest fuelphp


    【解决方案1】:

    正如您还指出的那样,REST 调用在某种程度上是无状态的,这意味着您没有要存储的会话。

    身份验证文档有一些检查用户凭据的方法,但不存储身份验证。没有正式的方法可以做到这一点。

    【讨论】:

      【解决方案2】:

      我过去使用的一种方法是使用基于令牌的系统。您有一个链接到 Auth 用户的 API 令牌,然后在发出请求时在 Authorize 标头中提供此令牌,然后根据已知令牌检查令牌,如果有效,则使用 Auth 包执行强制登录。

      【讨论】:

      • 如果您需要在休息 API 中使用强制登录,那么您做错了,因为这意味着您还存储了一个会话,这不应该在 API 调用中完成。对凭据进行一次检查就足够了。如果您需要能够多次检查身份验证/授权(例如检查权限),您应该使用一个 noop 会话驱动程序(例如一个存储在数组中的东西),它只与请求一起存在,但不会被持久化。
      • 我使用强制登录的唯一原因是能够毫无问题地使用通常的 Auth 接口。 Auth 确实存储了一个会话,但你不能停止它,它仍然是一个无状态的 api,因为它(理论上)不存储调用之间的登录。目前使用燃料的默认身份验证驱动程序是不可能避免这种情况的。
      • 这不是不可能的。正如我所说,您可以使用不持久化会话数据的虚拟会话驱动程序。此外,如果您需要的不仅仅是身份验证检查,您只需要强制登录。 AFAIK 您可以在不登录的情况下检查凭据。因此,如果您不需要例如授权(ACL),那么您就不需要登录。如果您有兴趣:我正在尝试一种新的身份验证视角。到目前为止我已经完成了:github.com/guardianphp
      猜你喜欢
      • 2012-08-22
      • 2017-11-24
      • 2012-08-17
      • 2016-10-01
      • 2021-11-28
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多