Jest jakiś sposób na corsy dla angulara i API w .net corze ? Robiłem już chyba wszytsko. W Startupie zdefiniowane moje corsy i dodane w services przez add cors i dodane allowanymethod headres i origin i adres do mojego frontu, niże też mam app.useCors użyte. Znaczniki w controlerach [enableCors] też. I jeszcze jest tak że jeden kontroler działa i z frontu przechodzi a drugi który wymaga autoryzacji z znacznikiem [Authorize] nie łapie wgl i wywala na froncie błąd cors. Ale z postmana z tą samą autoryzacja już przechodzi i działa. Ma ktoś jakiś pomysł ? #programowanie #programista15k #dotnet #csharp #angular
Tak tak i tak :D wszytsko robiłem. Port mam dobry napewno sprawdzałem dużo razy :D tracę już cierpliwość do tego :p najdziwniejsze jest to że z tym samym tokenem przez postmana przechodzi
@wyinwidualizowany using AngularWebAPI.Managers; using AngularWebAPI.Models; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.IdentityModel.Tokens; using Microsoft.OpenApi.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace AngularWebAPI { public class Startup { readonly string angularOrigins = "angularOrigins"; public Startup(IConfiguration configuration) { Configuration = configuration; }
@Kamilex97: Najpierw zadziała uwierzytelnianie i odrzuci zapytanie z powodu zablokowanych corsów, nie będzie wiedział o tym, że są odblokowane. Dlatego kolejność w Configure jest ważna.
@simoff: masz corsy pod autoryzacją (authorization) czy uwierzytelnieniem (authentication)?
@wyinwidualizowany dobra jednak nie takie ciekawe. Sprawdziłem, jednak nie potrzebowałem corsów :p po zakomentowaniu też działa. Miałem wcześniej problem z wywołaniem API innej aplikacji z webassembly. Okazało się, że muszę z clienta wywołać swoje api i dopiero z serwera api do drugiej aplikacji.
#programowanie #programista15k #dotnet #csharp #angular
Komentarz usunięty przez autora
Coś jak:
[EnableCors(„nazwa”)]
W ConfigureServices:
services.AddCors(options =>{
options.AddDefaultPolicy(
builder => {
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
oraz w Configure:
app.UseCors();i to tyle.
@masaj
@wyinwidualizowany
Tak tak i tak :D wszytsko robiłem. Port mam dobry napewno sprawdzałem dużo razy :D tracę już cierpliwość do tego :p najdziwniejsze jest to że z tym samym tokenem przez postmana przechodzi
using AngularWebAPI.Managers;
using AngularWebAPI.Models;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AngularWebAPI
{
public class Startup
{
readonly string angularOrigins = "angularOrigins";
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the
app.UseCors(angularOrigins);
app.UseAuthentication();
app.UseAuthorization();
@simoff: masz corsy pod autoryzacją (authorization) czy uwierzytelnieniem (authentication)?