获取错误:使用Laravel Passport进行“未经身份验证”

时间:2017-11-19 17:42:39

标签: laravel api laravel-passport

我正在尝试使用Laravel / Passport作为API后端创建单页应用。要注册,我像往常一样创建我的用户,然后使用Passport的ApiTokenCookieFactory生成我的JWT cookie,如下所示:

// api_success is a response macro
    return $this->response->api_success('User successfully created')
       ->withCookie($this->cookie->make($newUser->getModel()->getKey(), $request->header('X-CSRF-TOKEN')));

您可以假设$ this-> Cookie是容器已解析的Cookie工厂。这一切都很好,我得到了一个与JWT的laravel_token cookie。

当我去提出请求时,例如api / users / me,我得到了这样的答复:

{
    "error": "Unauthenticated."
}

我正在发送CSRF令牌,我正在将X-Requested-With设置为XMLHttpRequest,并且cookie正在与请求一起发送。

/ api / users / me路由有api:auth中间件,所以我不知道我做错了什么。如果有人有任何建议,他们将非常感谢< 3

1 个答案:

答案 0 :(得分:0)

我已经解决了我遇到的问题,如果有人将来到这里,请注意默认情况下不加密cookie!确保将加密cookie中间件添加到您的路由,或手动加密cookie。我的上帝,当我想到这一点时,我很高兴。事实证明护照警卫试图解密我未加密的cookie并默默地(!!)失败。