У меня есть приложение с минимальным API .NET 7, и оно размещено в IIS, и тот же API вызывается в другом приложении angular, которое размещено в том же IIS. Например,
https://example.com — это URL-адрес приложения Angular, где https://example.com/API — это URL-адрес API.
Приложения Angular отлично работают с API. если я не поместил следующий файл web.config в корень приложения Angular, чтобы решить проблему с обновлением, но как только я поместил его туда, API перестал работать и начал выдавать сообщение об ошибке 405.
Вот код конфигурации:
а вот код из Program.cs
using DataAccess.DBAccess;
using paylocityapi;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;
using System.Text;
using Microsoft.OpenApi.Models;
var builder = WebApplication.CreateBuilder(args);
//swagger
builder.Services.AddSwaggerGen(options =>
{
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Scheme = "Bearer",
BearerFormat = "JWT",
In = ParameterLocation.Header,
Name = "Authorization",
Description = "Bearer Authentication with JWT Token",
Type = SecuritySchemeType.Http
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
},
new List()
}
});
});
//JWT TOKEN
builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = builder.Configuration["JwtSettings:Issuer"],
ValidAudience = builder.Configuration["JwtSettings:Audience"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["JwtSettings:SecretKey"]))
};
});
// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddAuthorization();
// Enable CORS
builder.Services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.ConfigureApi();
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
app.Run();
Подробнее здесь: https://stackoverflow.com/questions/766 ... ng-net-7-m
Помещение web.config в каталог, размещенный в угловом приложении, перестает работать. Минимальный API .NET 7, выдает оши ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Платформа API: тело возвращаемого запроса на публикацию/помещение имеет значение null
Anonymous » » в форуме Php - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Платформа API: тело возвращаемого запроса на публикацию/помещение имеет значение null
Anonymous » » в форуме Php - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-