Laravel-filesystem-oss 扩展包中 web 直传回调失败问题

  • 环境: laravel8.* + Laravel-filesystem-oss ^2.1 扩展

  • 问题描述:

    • 前端 web 直传的时候, 回调的时候中报 405 错误
      Laravel-filesystem-oss web 直传时回调问题
  • 相关代码:

    • 控制器

      public function getSignature()
      {
        $disk = Storage::disk('oss');
        $baseUrl = $_SERVER["HTTP_HOST"];
      
        $config = $disk->signatureConfig($prefix = 'douyin/', $callBackUrl = $baseUrl . '/admin/aliyun/callback', $customData = [], $expire = 30);
        return $config;
      }
      
      public function ossCallback()
      {
        $disk = Storage::disk('oss');
        list($verify, $data) = $disk->verify();
      
        return response()->json($data);
      }
    • 路由

      Route::get('/admin/aliyun/signature', [AdminDouYinController::class, 'getSignature']);
      
      Route::get('/admin/aliyun/callback', [AdminDouYinController::class, 'ossCallback']);
    • 前端 JavaScript 代码是按照阿里云提供的 web 直传部分的代码


  • 求大哥指教下
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
mouc
最佳答案

405 Method Not Allowed 表明服务器禁止了使用当前 HTTP 方法的请求, 此处callback url不应该以 admin路径开头,建议放到web路由定义中去,因为阿里云服务器调用这个URL是没有登录后台的. 此外, 这个回调路由应该加上 CsrfToken白名单: app/Http/Middleware/VerifyCsrfToken.php

protected $except = [ 'osscb' ];

2年前 评论
mouc (作者) 2年前
qingshui (楼主) 2年前
qingshui (楼主) 2年前
讨论数量: 1
mouc

405 Method Not Allowed 表明服务器禁止了使用当前 HTTP 方法的请求, 此处callback url不应该以 admin路径开头,建议放到web路由定义中去,因为阿里云服务器调用这个URL是没有登录后台的. 此外, 这个回调路由应该加上 CsrfToken白名单: app/Http/Middleware/VerifyCsrfToken.php

protected $except = [ 'osscb' ];

2年前 评论
mouc (作者) 2年前
qingshui (楼主) 2年前
qingshui (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!