gpt4 book ai didi

php - 使用内置的 Laravel 5.2 身份验证并加载 SPA,然后为所有其他路由加载 Dingo API

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:49 26 4
gpt4 key购买 nike

我正在尝试确定是否可以将常规的 Laravel 身份验证路由与 Blade / View 一起用于基本身份验证,然后加载 SPA(Vue.js 及其自己的路由器)并通过 Dingo 调用 API?

目前我在 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。

我想做的是从现在开始使用 Dingo。所以对 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();
});

});

});

这似乎行不通。

甚至可以通过这种方式使用 Dingo,或者我是否必须放弃内置 Auth 以获取 JWT 之类的东西。我希望将来能做到这一点,但现在我只需要让它发挥作用。

最佳答案

您需要在中间件中将auth替换为api.auth

$api->group(['middleware' => 'api.auth'], function ($api) {

// API prefix: api
$api->get('user', function($api) {
return Auth::user();
});

});

关于php - 使用内置的 Laravel 5.2 身份验证并加载 SPA,然后为所有其他路由加载 Dingo API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35925056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com