Laravel 403 之前有效的 API 错误

2024-02-25

截至昨天,下面的代码有效。然而今天,我必须在 laravel 中运行 php artisan config:cache 命令,因为我添加了一个包,现在我漂亮的 ionic 应用程序不想运行连接到任何东西,因为我不断收到此 403 错误。

在我安装“rap2hpoutre/laravel-log-viewer”:“^0.19.1”并缓存后开始出现错误,但我认为这与它没有任何关系。我很确定我的缓存在此之前是最新的。

jwt 产生相同的错误。

以前,该应用程序无需 cors 插件即可运行。

它在本地和我的服务器上向我提供了此错误(因为我也必须在那里缓存)。

这个错误与我之前调试时遇到的错误不同。

当我拉路线时http://xxx/api/home http://xxx/api/home通常在 chrome 中 - 它返回正常...在邮递员中相同

感谢您的帮助!

错误

OPTIONS http://xxx/api/home http://xxx/api/home403(禁止) 加载失败http://xxx/api/home http://xxx/api/home:预检响应没有 HTTP 正常状态。

IONIC

basicGet_no_token(rl){
        console.log('basicGet - ' + this.base_url + rl);
        return new Promise((resolve, reject) => {
            this.http.get(this.base_url + rl, 
                {headers: new HttpHeaders({
                    'Content': 'application/json',
                    'Accept': 'application/json',
                })})
                .subscribe(res => {console.log(res);resolve(res);}, (err) => {this.handleError(err);console.log(err);reject(err);});
        }); 
    }

LARAVEL

Route::group(['middleware' => ['addHeaders']], function () {
    Route::get('home', 'api\WelcomeController@home');
});

class addHeaders
{
    public function handle($request, Closure $next)
    {
    if ($request->getMethod() == "OPTIONS") {
      return response(['OK'], 200)
        ->withHeaders([
          'Access-Control-Allow-Origin' => '*',
          'Access-Control-Allow-Methods' => 'GET, POST, PUT, DELETE',
          'Access-Control-Allow-Credentials' => true,   
          'Access-Control-Allow-Headers' => 'Origin, Content-Type, X-Auth-Token, authorization, X-Requested-With'
        ]);
    }

    return $next($request)
        ->header('Access-Control-Allow-Origin', '*')
        ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE')
        ->header('Access-Control-Allow-Credentials', true)
        ->header('Access-Control-Allow-Headers', 'Origin, Content-Type, X-Auth-Token, authorization, X-Requested-With');

    }
}

class WelcomeController extends Controller
{
  public function home()
  {
        $r['message']="Welcome!";
    $r['allow']=true;
    $p=compact('r');
    return response()->json($p, 200);
  }
}


class Kernel extends HttpKernel
{

    protected $middlewareGroups = [
          'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

    protected $routeMiddleware = [
        'auth'      => \Illuminate\Auth\Middleware\Authenticate::class,
        'auth.basic'  => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings'    => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'can'       => \Illuminate\Auth\Middleware\Authorize::class,
        'guest'     => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'jwt'           => \App\Http\Middleware\JWT::class,
        'addHeaders'    => \App\Http\Middleware\addHeaders::class,
      'jwt.auth'    => \Tymon\JWTAuth\Middleware\GetUserFromToken::class,
      'jwt.refresh'   => \Tymon\JWTAuth\Middleware\RefreshToken::class,        
        'throttle'    => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    ];
}

这个答案可能不适合所有人,但如果您创建了自定义请求并忘记授权方法返回 true,您可能会遇到此错误。

我正在处理策略授权,经常忘记请求验证。创建自定义请求时请仔细检查

注意:另请注意,如果您正在使用策略,您可能会忘记将策略映射到模型中AuthServiceProvider

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 403 之前有效的 API 错误 的相关文章

随机推荐

  • 无法使用 SES 接收 S3 存储桶中的电子邮件

    我正在尝试创建一个系统 其中电子邮件将发送到我公司的邮箱 并且 S3 存储桶将存储这些电子邮件 每当存储新电子邮件时 都会触发 Lambda 函数来存储电子邮件并回复发件人 第二部分 然而 我没有成功地实现第一部分 我有一个托管在 AWS
  • 在 Web API 控制器中接收 Json 反序列化对象作为字符串

    以下是我从 Ui 输入的 Json data Id 1 Id 2 Id 3 我可以在如下所示的对象结构中没有问题地接收它 public class TestController ApiController
  • 动态生成角度为2的输入字段类型并设置字段的类型

    我是 Angular 2 的新手 尝试根据使用 Angular 2 的模型动态生成一堆输入字段 有些字段是密码字段 如果是的话 我想让输入字段输入密码 我写过这样的东西 div div
  • 引用主题的原色而不是 Material UI 中的特定颜色

    使用 ReactJS 和 Material UI 我有一个项目 其中我更改了主题颜色 const newTheme getMuiTheme fontFamily Roboto sans serif palette primary1Color
  • Angular 2 和 Spring Boot - 部署到战争

    首先我要说的是 我是 Maven Spring 的新手 并且很难弄清楚当我的目录不遵循首选 Maven 结构时该怎么做 我按照说明通过 Angular 2 和 Spring Boot 设置项目tutorial https blog jdri
  • 具有多个 IN 参数的存储过程

    我得到了以下程序 create or replace PROCEDURE create indexes tbl name index IN VARCHAR2 tbl name vehicle IN VARCHAR2 tbl name dea
  • 检查 gRpc 服务器是否在 C# 中运行

    我正在用 C 编写一个 gRpc 服务器 如果服务器因任何原因关闭 我想添加自动恢复 重试实现 经过研究 我遇到了拦截器并感到兴奋 但看起来它只支持 Go 我找不到 gRpc C 的任何类似内容 如何在 gRpc CSharp 中处理自动恢
  • 在 Angular 中下载文件时无法获取进度和文件

    我有一个 Angular 应用程序 我只想下载一个文件 到目前为止 这是我的代码 this fileNavigationService downloadFile element subscribe result gt this genera
  • GCP 中的 AI Notebook 和 Cloud Datalab 有什么区别?

    我已经搜索了这个问题的答案 这个问题是重复的 但我需要澄清 因为我看了两个不同的地方 答案有点相反 以下堆栈溢出answer https stackoverflow com a 58329351 9146820提到Google Cloud
  • QT5文本渲染问题

    我在基于 MIPS 的平台上交叉编译了 QT5 每当我运行包括示例应用程序 其中包含文本 的应用程序时 它首先绘制文本 然后使用文本颜色的 矩形 填充来绘制文本区域 所以最后我在所有显示文本的地方看到了一个黑色矩形 如果我改变文本颜色 矩形
  • 词汇环境和函数范围

    javascript 中的词法环境和作用域是一回事吗 根据我刚刚从 JavaScript Ninja 的秘密 2 e 中学到的内容给出答案 它们是不同的概念但相关 我们需要定义一个相关的概念 执行上下文及其堆栈去理解 执行上下文 执行上下文
  • Next.js:如何使动态路由与空间一起工作?

    我有一个getStaticPaths生成两条几乎相同的路径的函数 foo 20bar and foo bar My foo bar路径效果很好 但由于某种原因foo 20bar路径不起作用 它会路由到我的 404 页面 无论我是否真的浏览到
  • 如何使用 DynamoDBAutoGenerateKey 为我提供自动生成的密钥?

    我需要使用 AWS SDK 中的 DynamoDBAutoGenerateKey 来为我提供一个随机密钥 字符串类型 然后我可以用它来执行某些操作 我在网上找不到任何这样做的例子 虽然看起来应该相对简单 但我真的很难让它发挥作用 任何人都可
  • 像模板一样保存多个 CKEditor 内联编辑器字段的数据

    我正在建立一个模板系统 设计人员可以在其中提交 HTML5 设计并允许用户添加自己的内容 我正在为该应用程序使用 CKEditor 4 2 和 Rails 3 我希望用户能够加载模板页面 然后直接编辑各种内联编辑器 然后通过 JS 和 Aj
  • C# WPF ComboBox - 排除绑定数据的最后一行(或空白)(从 Microsoft Access 绑定)

    目前我正在使用 Microsoft Access 来保存数据 它将绑定到 WPF 组合框 下面的代码几乎可以正常工作 oleDBCommand CommandText SELECT table Col1 table Col2 As COl1
  • 了解所有线程何时完成并处理异常

    我正在使用 Executor 框架使用线程池 即 newFixedThreadPool 启动多个线程 我使用 threadpool submit aThread 提交要由线程池执行的作业 这工作正常 但是我需要确定所有线程何时完成 以便我可
  • click() 事件在 jQuery 中调用两次

    我设置了一个链接元素并在 jQuery 中调用了它的单击事件 但是单击事件调用了两次 请参阅下面的 jQuery 代码 link button button click function attachmentForm slideToggle
  • 使用 Express js、passport 保护 GraphQL 查询

    我已经开始在我的 Express JS 项目中使用 graphql 但我想知道如何保护我的一些 GraphQL 查询 以前我使用 Passport js JWT 来实现此目的 效果很好 确保路线安全确实很容易 但使用 graphql exp
  • html 到 pdf 转换,西里尔字符无法正确显示

    我的 pdf 字体有问题 我使用了一种从 html 生成 pdf 的方法 该方法在我的本地计算机 即 Windows 操作系统 上运行良好 但现在在 Linux 上 西里尔文字显示带有问号 我在那里检查了字体 但结果发现有所需的字体 现在我
  • Laravel 403 之前有效的 API 错误

    截至昨天 下面的代码有效 然而今天 我必须在 laravel 中运行 php artisan config cache 命令 因为我添加了一个包 现在我漂亮的 ionic 应用程序不想运行连接到任何东西 因为我不断收到此 403 错误 在我