Laravel 5 / AngularJS自定义身份验证最佳实践

时间:2017-09-13 19:55:51

标签: angularjs authentication laravel-5

我正在使用Laravel 5.3作为后端并将AngularJS作为前端的应用程序。对于身份验证,需要将用户的信息与外部API进行匹配。为此,我一直在使用Laravel内置身份验证的自定义版本,即

  1. 用户输入信息
  2. AngularJS前端发送到Laravel后端
  3. Laravel使用Auth :: login来检查外部API
  4. 告诉用户他们的凭据错误或将其移至主页
  5. 我的问题是,从那时起,继续使用Laravel的内置身份验证中间件功能来查看用户在应用程序中移动时是否经过身份验证是不好的做法?

    我正在阅读的所有内容似乎都在讨论使用基于令牌的身份验证(主要是JWT),虽然我的方法肯定有效,但我是AngularJS的新手,并希望确保我所做的事情遵循最佳实践。

    谢谢!

1 个答案:

答案 0 :(得分:0)

就最佳实践而言,有很多不同的方法可以解决这个问题。您可以使用内置身份验证的laravel,但是您必须确保会话ID随每个请求一起发送,或者Auth :: user将为null。

说到API,你通常不想拥有会话数据,人们使用像JWT或OAUTH这样的令牌的主要原因是因为他们是无国籍的(大多数情况下)。如果您使用JWT令牌,那么您可以使用以下内容添加额外的middelware:

if (JWTAuth::getToken()) {
        JWTAUth::parseToken()->authenticate();
    }

当您执行此类操作时,laravel的身份验证方法将按预期工作。这将与包附带的jwt.auth中间件结合使用。希望能稍微澄清一下:)