我正在尝试在Vue.js中制作SPA应用程序,它与laravel 5.4中使用passport和oauth进行的后端API进行通信。 我正在传递关于https://www.youtube.com/watch?v=JEn16aQoowE&list=PLkZU2rKh1mT9TgMvpFY1QVrX2z4I3D3Jq&index=1
的教程唯一的区别是我的后端API具有自定义用户提供程序,可以通过表视图模拟对另一个数据库表的身份验证。
POST http://127.0.0.1:8000/oauth/token
给了我以下信息:
回复{url:" http://127.0.0.1:8000/oauth/token",ok:false,状态:401,statusText:"未经授权",标题:标题...}
以下是如何重现它:
设置后端API:
git clone https://github.com/gandra/laravel54-passport-demo-external-user
cd laravel54-passport-demo-external-user
cp .env.example .env
composer install
php artisan key:generate
npm install
npm run dev
php artisan migrate
php artisan db:seed
php artisan passport:install
使用您的数据库信息
laravel54-passport-demo-external-user/.env
文件
使用以下方法启动API服务器:
php artisan serve
设置前端:
git clone https://github.com/gandra/laravel54-passport-demo-vue-client.git
cd laravel54-passport-demo-vue-client
npm install
更新laravel54-passport-demo-vue-client\src\App.vue
中客户端密码,其值为secret
字段oauth_clients
,其中name =' Laravel密码授予客户端'
提出前端:
npm run dev
这应该在浏览器中打开网址http://localhost:8080/
。打开浏览器控制台并检查错误。你会看到这样的东西:
以下是laravel的错误日志: https://gist.github.com/gandra/f3a45a638df036e280303ff6d94a89d0 与其他客户一起尝试的另一个: https://gist.github.com/gandra/8da758ad223916613c0604817c2e1130