【问题标题】:User Authentication in Laravel 5 + AngularJs Without JWT没有 JWT 的 Laravel 5 + AngularJs 中的用户身份验证
【发布时间】:2016-01-18 13:17:13
【问题描述】:

我正在为一个具有基于 Laravel 的后端和基于 laravel + angularJs 的前端的应用程序工作。

我已经完成了大约 40% 的后端,现在我需要实现前端,但我没有收到 best practice

我已尝试登录页面,但无法在 json 中获取 errors and responses我已签入请求,它向我显示了响应错误的登录页面。

我为此搜索了很多,并找到了解决方案JWT

还有其他方法可以做到这一点,以便我可以在 json 中获取所有响应和错误吗?

【问题讨论】:

    标签: php angularjs json laravel-5.1


    【解决方案1】:

    您的标题表明您不想使用 JWT,因为您无法捕获异常 :-)

    您必须抽象出您的问题,或者更好:将其转化为挑战。

    让我们开始吧:

    JWT 包有不同的例外,例如令牌列入黑名单,enz。那么你的任务是什么?捕捉那个异常!是啊,那又怎样?是的,您可以将该 json 返回到您的视图中。

    下面是来自 JWT 网站的一个很好的例子

    public function getAuthenticatedUser()
    {
        try {
    
            if (! $user = JWTAuth::parseToken()->authenticate()) {
                return response()->json(['user_not_found'], 404);
            }
    
        } catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
    
            return response()->json(['token_expired'], $e->getStatusCode());
    
        } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {
    
            return response()->json(['token_invalid'], $e->getStatusCode());
    
        } catch (Tymon\JWTAuth\Exceptions\JWTException $e) {
    
            return response()->json(['token_absent'], $e->getStatusCode());
        }
    }
    

    上面的方法返回json。要在您的视图中显示此信息,这是 AngularJS 问题而不是 JWT 问题。

    【讨论】:

    • 感谢您的建议,但我正在寻找 laravel 5 中的任何内置功能,如果可能的话,我可以使用 json 格式获取所有错误和响应。我不想为此使用任何第三方工具:)
    猜你喜欢
    • 2018-06-08
    • 2015-04-25
    • 2017-02-20
    • 2017-09-14
    • 1970-01-01
    • 2017-10-18
    • 2019-01-07
    • 2016-10-08
    • 2020-03-18
    相关资源
    最近更新 更多