被 CORS 政策阻止 - openfire Rest API

问题描述 投票:0回答:1

我正在使用 Angular,我正在尝试与 openfire 连接,连接建立成功,当我尝试使用 Angular 中的 httpclient 调用 get user 时。我收到如下 Cors 错误

从源“http://localhost:4200”访问“http://127.0.0.1:9090/plugins/restapi/v1/users”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。

我在 Web 绑定设置中启用了 Cors,但它不起作用

OpenFire Admin Console

angular httpclient xmpp openfire
1个回答
0
投票

首先,COR 的策略问题来自您的后端。在后端,请确保将后端的请求来源列入白名单。就像前端网址一样。 在 c# web api 中你可以这样做

services.AddCors(options =>
{
    options.AddPolicy(name: "AllowSpecificOrigin",
        builder =>
        {
            builder.WithOrigins(corsOptions.AllowedOrigins).WithHeaders(corsOptions.AllowedHeaders).WithMethods(corsOptions.AllowedMethods);

            if (corsOptions.AllowCredentials)
            {
                builder.AllowCredentials();
            }
            else
            {
                builder.DisallowCredentials();
            }
        });
});

对于您的网址,您可以在 appsettings.json 中像这样列出它们

"AllowedOrigins": [ "http://localhost:4200", "https://localhost:4200", "https://localhost:8100", "http://localhost:8100" ],

在program.cs中你可以这样列出它。

app.UseCors("AllowSpecificOrigin");
© www.soinside.com 2019 - 2024. All rights reserved.