【发布时间】:2017-08-18 07:27:09
【问题描述】:
按照 Laravel 上有关 API 路由的 Passport authentication 的文档,我目前在使用 axois 从 api 获取数据时遇到了一些问题。
到目前为止,我已经通过 Composer 安装了 Passport,添加了 hasApiTokens trait,在 AuthServiceProvider 的引导方法中添加了对 Passport::routes 的调用,并将 api 身份验证保护的驱动程序选项设置为“passport”。
由于我希望用户在登录后通过基于 Vue 的 SPA 中的 Javascript 使用 API,因此我已将 CreateFreshApiToken 添加到 Web 中间件组。
当我运行以下 sn-p 来测试所有内容时,就会出现问题:
axios.get('api/users').then( function(response) { console.log(response.data); });
结果是“加载资源失败:服务器响应状态为 401(未授权)”响应。
我已经检查了使用 axois 发送的请求的标头,并且标头包含两者
Cookie:laravel_token=eyJpdiI6ImJ5RG1KRk....
和
X-XSRF-TOKEN:eyJpdiI6IlVRRHhxSXp2VDVy...
我做错了吗?
【问题讨论】:
-
我有同样的错误,但下面的答案并没有解决它...
标签: php laravel api authentication laravel-passport