Php 对所有其他路线使用内置的Laravel 5.2认证和加载SPA,然后加载野狗API
我正在尝试确定是否可以使用常规的Laravel身份验证路由和blade/views for basic Auth,然后加载SPA(Vue.js和它自己的路由器),并通过Dingo调用API 目前,我在我的Php 对所有其他路线使用内置的Laravel 5.2认证和加载SPA,然后加载野狗API,php,laravel,authentication,laravel-5.2,dingo-api,Php,Laravel,Authentication,Laravel 5.2,Dingo Api,我正在尝试确定是否可以使用常规的Laravel身份验证路由和blade/views for basic Auth,然后加载SPA(Vue.js和它自己的路由器),并通过Dingo调用API 目前,我在我的routes.php的顶部有一个: // All routes through web middleware Route::group(['middleware' => 'web'], function () { // Authentication Route::auth
routes.php
的顶部有一个:
// All routes through web middleware
Route::group(['middleware' => 'web'], function () {
// Authentication
Route::auth();
// Authenticated routes
Route::group(['middleware' => 'auth'], function () {
// Load main SPA
Route::get('/', 'AppController@spa');
});
});
app.domian.com/
受Auth保护,这是SPA使用的路径。我使用标准的内置Laravel授权页面(非SPA),因此当用户登录或注册时,它允许访问主路由并加载SPA
我想做的是从现在开始使用野狗。所以对app.domian.com/api/*的调用都是由Dingo处理的
我已将此添加到同一路由文件中:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function($api) {
$api->group(['middleware' => 'auth'], function ($api) {
// API prefix: api
$api->get('user', function($api) {
return Auth::user();
});
});
});
这似乎不起作用
它甚至有可能以这种方式使用野狗,或者我必须放弃像JWT这样的东西的内置授权。我希望将来能这样做,但现在我只需要让它工作。您需要在中间件中将
auth
替换为api.auth
$api->group(['middleware' => 'api.auth'], function ($api) {
// API prefix: api
$api->get('user', function($api) {
return Auth::user();
});
});