You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Passport对接NuxtJS的.env配置与服务端请求接收配置问题

关于Nuxt项目.env文件的疑问

你需要手动创建.env文件,Nuxt 2、Nuxt 3原生都支持根目录下的.env文件加载环境变量,教程中的cp .env.example .env命令作用是把示例配置复制为实际生效的配置文件,如果你项目里没有示例文件也没关系,直接在Nuxt项目根目录新建空白的.env文件,把以下内容复制进去填入对应值即可:

LARAVEL_ENDPOINT='http://127.0.0.1:8000'
PASSPORT_PASSWORD_GRANT_ID=
PASSPORT_PASSWORD_GRANT_SECRET=

三个配置项的取值规则:

  • LARAVEL_ENDPOINT填Laravel服务的实际访问地址
  • 后两项是Laravel端创建密码授权客户端后生成的凭证,在Laravel项目根目录执行php artisan passport:client --password按照提示操作即可获得,提示输入回调地址时可随意填写,密码授权模式不需要用到回调地址。

Laravel服务端必要配置

教程没有单独提是因为默认用户已经完成了Passport的基础初始化,你需要按以下顺序完成服务端配置才能正常接收Nuxt的请求:

  • 首先完成Passport基础安装:在Laravel项目根目录执行composer require laravel/passport安装扩展,再执行php artisan passport:install完成初始化、生成加密密钥
  • 配置认证驱动:打开config/auth.php,将api guard的driver修改为passport
    'guards' => [
        'api' => [
            'driver' => 'passport',
            'provider' => 'users',
        ],
    ],
    
  • 配置跨域规则:打开config/cors.php,将Nuxt的访问地址加入allowed_origins列表,开发阶段可临时设置为*,生产环境必须填写实际的前端域名;同时确保你需要调用的接口路径已经加入paths列表,比如填api/*就能匹配所有/api开头的接口
  • 接口路由配置:所有需要登录态才能访问的接口,必须放在auth:api中间件组下,示例:
    Route::middleware('auth:api')->get('/user', function (Request $request) {
        return $request->user();
    });
    

内容的提问来源于stack exchange,提问作者Dr.Noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 00:15:03