$lang['tuto'] = "tutorijali"; ?> Ograničavanje Windows autentifikacije i JWT-a na određene

Ograničavanje Windows autentifikacije i JWT-a na određene rute u ASP.NET Core

Temp mail SuperHeros
Ograničavanje Windows autentifikacije i JWT-a na određene rute u ASP.NET Core
Ograničavanje Windows autentifikacije i JWT-a na određene rute u ASP.NET Core

Balansiranje shema provjere autentičnosti za sigurno usmjeravanje

Kako se moderne web aplikacije razvijaju, programeri se često suočavaju s izazovom implementacije robusnih mehanizama provjere autentičnosti koji su sigurni i fleksibilni. U vašem slučaju, koristite JWT Bearer Authentication za neke rute i Windows Authentication (Negotiate) za druge. Međutim, nezgodno pitanje nastaje kada se obje sheme provjere autentičnosti primjenjuju globalno, što dovodi do zabune u zaglavljima odgovora. Konkretno, vidite neželjena zaglavlja `WWW-Authenticate` za JWT rute koje uključuju i `Bearer` i `Negotiate`, dok bi trebao biti prisutan samo `Bearer`.

Za programere poput vas, ključni cilj je osigurati da svaka ruta odgovara ispravnom shemom provjere autentičnosti. To znači da bi rute zaštićene JWT-om trebale slati samo `WWW-Authenticate: Bearer`, a rute Windows Authentication bi trebale slati samo `WWW-Authenticate: Negotiate`. Zamislite da gradite web aplikaciju s mješovitim korisničkim ulogama—neki se korisnici autentificiraju putem svojih Windows vjerodajnica, dok se drugi autentificiraju pomoću JWT tokena. Zaglavlja bi se trebala uskladiti s ovim različitim strategijama provjere autentičnosti kako bi se izbjegla zabuna i nepotrebni sigurnosni upiti.

Ali što se događa kada se obje sheme provjere autentičnosti primijene u cijelosti, što rezultira time da se oba zaglavlja oglašavaju istovremeno? To može biti frustrirajuće, posebno kada želite imati preciznu kontrolu nad time kako i kada se koja metoda provjere autentičnosti primjenjuje. Srećom, ASP.NET Core pruža načine za rješavanje ovog problema, dajući programerima poput vas alate za provođenje ove precizne kontrole.

U sljedećim odjeljcima istražit ćemo kako konfigurirati sheme provjere autentičnosti za određene rute, izbjegavajući globalnu primjenu obje sheme i sprječavajući slanje neželjenih zaglavlja `WWW-Authenticate`. Proći ćemo kroz konkretne primjere i istražiti najbolje prakse za ovu konfiguraciju. Na kraju ćete jasno razumjeti kako riješiti ovaj problem i osigurati da se vaša aplikacija ponaša točno onako kako je predviđeno—sigurno i precizno. 🔒

Naredba Primjer korištenja
HandleResponse() Ova se metoda koristi za sprječavanje zadanog rukovanja izazovom provjere autentičnosti, omogućujući vam da u potpunosti kontrolirate odgovor. Korisno je kada želite prilagoditi način na koji se odgovara na neovlaštene zahtjeve, poput slanja određene poruke ili statusnog koda.
AddAuthenticationSchemes() Ova metoda specificira koje se sheme provjere autentičnosti trebaju primijeniti na određenu politiku. U primjeru se koristi za povezivanje ili JWT Bearer Authentication ili Windows Authentication (Negotiate) s različitim rutama ili pravilima.
MapControllerRoute() Preslikava rute do radnji kontrolera u ASP.NET Core. Koristi se za postavljanje uzorka usmjeravanja za različite politike provjere autentičnosti, osiguravajući da se određenim rutama rukuje odgovarajućom metodom provjere autentičnosti.
OnChallenge Ovo je rukovatelj događajima u klasi JwtBearerEvents koji vam omogućuje da prilagodite ponašanje kada dođe do izazova autentifikacije, kao što je prilagođavanje odgovora 401 Unauthorized.
UseMiddleware() Koristi se za registraciju prilagođenog međuprograma u cjevovodu zahtjeva aplikacije. To vam omogućuje presretanje HTTP zahtjeva i odgovora, kao što je podešavanje zaglavlja WWW-Authenticate na temelju tražene rute.
SetRequiredService() U primjeru međuprograma, ova se metoda koristi za dohvaćanje IAuthenticationService iz spremnika za umetanje ovisnosti. Ova je usluga odgovorna za rukovanje zadacima provjere autentičnosti, kao što su provjera valjanosti tokena i upravljanje shemama provjere autentičnosti.
UseEndpoints() Ova metoda konfigurira krajnje točke za usmjeravanje u ASP.NET Core. Koristi se za određivanje načina na koji kontroleri trebaju rukovati određenim rutama i koja se pravila trebaju primijeniti.
RequireAuthenticatedUser() Ova metoda osigurava da korisnik mora biti autentificiran za pristup ruti zaštićenoj pravilima autorizacije. Koristi se u definiciji pravila za provođenje provjere autentičnosti na rutama koje to zahtijevaju.
SymmetricSecurityKey() Ova metoda stvara simetrični ključ koji se koristi za potpisivanje i provjeru JWT tokena. Neophodno je za osiguranje integriteta i autentičnosti tokena.

Pregled rješenja: Konfiguriranje shema provjere autentičnosti za određene rute

U kontekstu ASP.NET Core, upravljanje shemama provjere autentičnosti može biti teško, posebno kada imate više shema kao što su JWT Bearer Authentication i Windows Authentication (Negotiate) koje rade paralelno. Da bismo riješili problem sukobljenih zaglavlja WWW-Authenticate, koristimo kombinaciju konfiguracije međuprograma, autorizacije temeljene na pravilima i prilagođenog rukovanja odgovorom. Ovo rješenje uključuje postavljanje dvije različite sheme provjere autentičnosti koje se selektivno primjenjuju na različite rute. Ideja je osigurati da svaka ruta odgovara samo potrebnim zaglavljem za provjeru autentičnosti—JWT za rute zaštićene JWT-om i Negotiate za rute zaštićene provjerom autentičnosti sustava Windows. 🚀

Prvi kritični dio rješenja je postavljanje shema provjere autentičnosti. U datoteci `Program.cs` konfiguriramo JWT Bearer Authentication i Windows Authentication. Za JWT smo postavili metodu `AddJwtBearer` s potrebnim konfiguracijama kao što su `Issuer`, `Audience` i `IssuerSigningKey`. Važna stvar ovdje je rukovatelj događajem definiran u `OnChallenge`, koji nam omogućuje da potisnemo zadano zaglavlje WWW-Authenticate. To nam daje kontrolu nad načinom na koji se postupa s odgovorima 401 Unauthorized. Također osiguravamo da je odgovor prilagođen JSON porukom, signalizirajući da je korisnik neovlašten.

Zatim dodajemo shemu Windows Authentication s `AddNegotiate()`. Time se postavlja HTTP Negotiate protokol koji se koristi za autentifikaciju Windows korisnika. Obje sheme provjere autentičnosti povezujemo s zasebnim pravilima autorizacije. Ta su pravila definirana u metodi `AddAuthorization()` gdje dodajemo prilagođena pravila za svaku shemu provjere autentičnosti. Na primjer, `JwtAuthPolicy` izričito dodaje `JwtBearerDefaults.AuthenticationScheme`, a slično tome, `WinAuthPolicy` dodaje `NegotiateDefaults.AuthenticationScheme`. Ovo je ključno za ispravno usmjeravanje autentifikacije na temelju mehanizma zaštite rute. 💡

Nakon postavljanja koristimo atribute `[Authorize(Policy = "JwtAuthPolicy")]` i `[Authorize(Policy = "WinAuthPolicy")]` za ukrašavanje ruta. Ovo osigurava da svaka ruta slijedi svoj određeni mehanizam provjere autentičnosti. Međutim, i dalje se suočavamo s problemom u kojem se obje sheme provjere autentičnosti mogu globalno primijeniti. Da bismo to riješili, moramo prilagoditi tok međuprograma i selektivno rukovati zaglavljima WWW-Authenticate koristeći metodu `HandleResponse()` unutar događaja `OnChallenge`. To osigurava da se, kada je ruta osigurana s JWT-om, koristi zaglavlje WWW-Authenticate: Bearer, a za rute Windows autentifikacije šalje se samo zaglavlje Negotiate.

Ukupni tijek je učinkovit i siguran jer koristimo najbolje prakse kao što su provjera valjanosti tokena i rukovanje pogreškama. Postavljanjem pravila, shema provjere autentičnosti i prilagođavanjem odgovora na izazov osiguravamo da su zaglavlja provjere autentičnosti strogo vezana za relevantne rute. S ovim postavkama programeri mogu pouzdano upravljati različitim shemama provjere autentičnosti u jednoj ASP.NET Core aplikaciji bez izazivanja nepotrebnih sukoba. Ovaj pristup poboljšava korisničko iskustvo pružanjem samo relevantnog zaglavlja WWW-Authenticate za svaku zaštićenu rutu. 🛠️

Pristup 1: Promjena autentifikacije s prilagođenim međuprogramom

Ovo rješenje koristi prilagođeni srednji softver za ograničavanje JWT Bearer Authentication i Windows Authentication (Negotiate) na određene rute u pozadini ASP.NET Core. Međuprogram osigurava da je uključeno samo odgovarajuće zaglavlje WWW-Authenticate na temelju zahtjeva za autentifikaciju rute.

public class AuthenticationSchemeMiddleware
{
    private readonly RequestDelegate _next;
    public AuthenticationSchemeMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        var path = context.Request.Path;
        var authentication = context.RequestServices.GetRequiredService<IAuthenticationService>();
        if (path.StartsWithSegments("/api/jwt"))
        {
            context.Request.Headers["Authorization"] = "Bearer <your-token>";
        }
        else if (path.StartsWithSegments("/api/windows"))
        {
            context.Request.Headers["Authorization"] = "Negotiate";
        }
        await _next(context);
    }
}

public static class AuthenticationSchemeMiddlewareExtensions
{
    public static IApplicationBuilder UseAuthenticationSchemeMiddleware(this IApplicationBuilder builder)
    {
        return builder.UseMiddleware<AuthenticationSchemeMiddleware>();
    }
}

public void Configure(IApplicationBuilder app)
{
    app.UseAuthenticationSchemeMiddleware();
    app.UseAuthentication();
    app.UseAuthorization();
}

Pristup 2: Autorizacija temeljena na politici s preciznom kontrolom

Ovo rješenje koristi pravila autorizacije za zasebno konfiguriranje shema provjere autentičnosti za različite rute u ASP.NET Core. Pravila vam omogućuju primjenu JWT Bearer Authentication ili Windows Authentication selektivno na temelju rute.

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(options =>
    {
        options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    })
    .AddJwtBearer(options =>
    {
        options.RequireHttpsMetadata = false;
        options.SaveToken = true;
        options.TokenValidationParameters = new TokenValidationParameters
        {
            ValidateIssuer = true,
            ValidateAudience = true,
            ValidateLifetime = true,
            ValidateIssuerSigningKey = true,
            ValidIssuer = builder.Configuration["Jwt:Issuer"],
            ValidAudience = builder.Configuration["Jwt:Issuer"],
            IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(builder.Configuration["Jwt:Key"]))
        };
    })
    .AddNegotiate();

    services.AddAuthorization(options =>
    {
        options.AddPolicy("JwtAuthPolicy", policy =>
        {
            policy.AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme);
            policy.RequireAuthenticatedUser();
        });
        options.AddPolicy("WinAuthPolicy", policy =>
        {
            policy.AddAuthenticationSchemes(NegotiateDefaults.AuthenticationScheme);
            policy.RequireAuthenticatedUser();
        });
    });
}

public void Configure(IApplicationBuilder app)
{
    app.UseAuthentication();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
        endpoints.MapControllerRoute(
            name: "jwt",
            pattern: "api/jwt/{action}",
            defaults: new { controller = "Jwt" });
        endpoints.MapControllerRoute(
            name: "windows",
            pattern: "api/windows/{action}",
            defaults: new { controller = "Windows" });
    });
}

Pristup 3: Zaglavlje uvjetne WWW-autentifikacije na temelju rute

U ovom pristupu, ASP.NET Core je konfiguriran da uključuje samo odgovarajuće zaglavlje `WWW-Authenticate` na temelju rute presretanjem odgovora i uvjetnim prilagođavanjem zaglavlja. Ova metoda koristi middleware za veću fleksibilnost u kontroli zaglavlja.

public class AuthenticationHeaderMiddleware
{
    private readonly RequestDelegate _next;
    public AuthenticationHeaderMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        var path = context.Request.Path;
        await _next(context);
        if (path.StartsWithSegments("/api/jwt"))
        {
            context.Response.Headers["WWW-Authenticate"] = "Bearer";
        }
        else if (path.StartsWithSegments("/api/windows"))
        {
            context.Response.Headers["WWW-Authenticate"] = "Negotiate";
        }
    }
}

public static class AuthenticationHeaderMiddlewareExtensions
{
    public static IApplicationBuilder UseAuthenticationHeaderMiddleware(this IApplicationBuilder builder)
    {
        return builder.UseMiddleware<AuthenticationHeaderMiddleware>();
    }
}

public void Configure(IApplicationBuilder app)
{
    app.UseAuthenticationHeaderMiddleware();
    app.UseAuthentication();
    app.UseAuthorization();
}

Optimiziranje autentifikacije s JWT i Windows autentifikacijom u ASP.NET Core

U ASP.NET Core, upravljanje višestrukim shemama provjere autentičnosti, kao što su JWT Bearer i Windows Authentication (Negotiate), zahtijeva pažljivu konfiguraciju kako bi se osiguralo da se ispravna shema primjenjuje na određene rute. Uobičajen problem s kojim se programeri suočavaju je zadana primjena svih konfiguriranih shema provjere autentičnosti na globalnoj razini, što može rezultirati uključivanjem neželjenih zaglavlja WWW-Authenticate u HTTP odgovore. Ovo je posebno problematično kada želite da JWT rute uključuju samo zaglavlje Bearer i Windows autentifikacijske rute da uključuju samo zaglavlje Negotiate. Prilagodbom konfiguracije provjere autentičnosti i korištenjem pravila, možete kontrolirati koja se shema provjere autentičnosti primjenjuje na svaku rutu i spriječiti sukobe u zaglavljima odgovora. 🔐

Jedan od najmoćnijih alata koji vam je na raspolaganju je sustav autorizacije temeljen na pravilima u ASP.NET Core. Definiranjem posebnih pravila za svaku shemu provjere autentičnosti, možete osigurati da je svaka ruta zaštićena ispravnim mehanizmom. Na primjer, ruta koja zahtijeva autentifikaciju JWT Bearer-a koristila bi `JwtAuthPolicy`, koja nalaže da se koristi samo shema Bearer-a, dok bi ruta koja zahtijeva provjeru autentičnosti Windows-a bila osigurana s `WinAuthPolicy`. Ovaj pristup čini aplikaciju fleksibilnijom jer vam omogućuje prilagođavanje sigurnosnih pravila različitim rutama unutar iste aplikacije. Da biste fino podesili zaglavlje WWW-Authenticate, također možete prilagoditi događaj `OnChallenge` u JWT konfiguraciji kako biste potisnuli zadana zaglavlja i osigurali da je samo relevantno zaglavlje uključeno u odgovor.

Osim postavljanja ovih shema i pravila provjere autentičnosti, važno je razumjeti kako međuprogram funkcionira u ovom procesu. Međuprogrami `UseAuthentication` i `UseAuthorization` moraju se pažljivo postaviti u cjevovod kako bi se osiguralo da se ispravna shema provjere autentičnosti obradi prije nego što svaki zahtjev stigne na svoju rutu. Definiranjem tih međuprograma i njihovim strukturiranjem pravim slijedom možete izbjeći sukobe između shema. Ovaj pristup ne samo da poboljšava sigurnost vaše aplikacije, već također optimizira korisničko iskustvo osiguravajući da se na svaki zahtjev primjenjuje samo potrebna shema provjere autentičnosti. 🌐

Uobičajena pitanja o JWT i Windows autentifikaciji u ASP.NET Core

  1. Koja je svrha metode `AddJwtBearer` u ASP.NET Core?
  2. The AddJwtBearer koristi se za konfiguriranje autentifikacije JWT nositelja u ASP.NET Core. Omogućuje vam da odredite kako se provjeravaju JWT tokeni, uključujući postavljanje parametara kao što su izdavatelj tokena, publika i ključ za potpisivanje. Ovo je bitno za osiguranje API-ja s JWT tokenima, osiguravajući da samo autentificirani korisnici mogu pristupiti zaštićenim resursima.
  3. Kako mogu potisnuti zadano zaglavlje WWW-Authenticate u JWT-u?
  4. Rukovanjem OnChallenge događaja u konfiguraciji JWT nositelja, možete potisnuti zadano zaglavlje WWW-Authenticate. To činite pozivom context.HandleResponse(), što sprječava zadano ponašanje, a zatim ručno postavljanje prilagođenog odgovora, poput slanja statusnog koda 401 s JSON porukom o pogrešci.
  5. Što radi metoda `AddNegotiate()` u kontekstu autentifikacije ASP.NET Core?
  6. The AddNegotiate() metoda konfigurira provjeru autentičnosti sustava Windows pomoću protokola Negotiate. Ovo omogućuje aplikaciji provjeru autentičnosti korisnika na temelju Windows vjerodajnica, obično za poslovne okoline u kojima su korisnici već prijavljeni u Windows domenu.
  7. Kako mogu primijeniti višestruke sheme provjere autentičnosti na različite rute?
  8. Možete koristiti autorizaciju temeljenu na pravilima za primjenu specifičnih shema provjere autentičnosti na različite rute. Na primjer, možete definirati a JwtAuthPolicy za rute zaštićene JWT-om i a WinAuthPolicy za rute zaštićene provjerom autentičnosti sustava Windows. Zatim, pomoću [Authorize(Policy = "PolicyName")] atribut, možete vezati svaku rutu na odgovarajuću shemu provjere autentičnosti.
  9. Zašto je važno prilagoditi zaglavlje `WWW-Authenticate`?
  10. Prilagođavanje WWW-Authenticate zaglavlje osigurava da se klijentu reklamira samo relevantna metoda provjere autentičnosti. Na primjer, ne želite da JWT rute predlažu metodu Negotiate, što bi moglo zbuniti klijenta ili uzrokovati nepotrebne upite za provjeru autentičnosti. Ova prilagodba pomaže optimizirati sigurnost i poboljšati korisničko iskustvo pružajući jasniji tijek provjere autentičnosti.
  11. Kako autorizacija temeljena na politici pomaže u upravljanju višestrukim shemama provjere autentičnosti?
  12. Autorizacija temeljena na pravilima omogućuje vam definiranje prilagođenih pravila autorizacije za različite rute, od kojih svaka ima posebnu shemu provjere autentičnosti. To vaš kod čini fleksibilnijim i lakšim za održavanje odvajanjem problema i osiguravanjem da se prave sigurnosne mjere primjenjuju na svaku rutu. Možete definirati različite sheme i zahtjeve za svaku rutu, osiguravajući da se ispravan mehanizam primjenjuje na odgovarajuće resurse.
  13. Može li se događaj `OnChallenge` u JWT konfiguraciji koristiti za druge sheme provjere autentičnosti?
  14. Da, OnChallenge događaj se također može koristiti za prilagodbu odgovora na izazove provjere autentičnosti u drugim shemama. Na primjer, možete ga koristiti za prilagodbu ponašanja sheme provjere autentičnosti Negotiate potiskivanjem zadanih zaglavlja ili promjenom poruka o pogreškama koje se vraćaju klijentu. Ovaj događaj nudi snažan način kontrole izazova autentifikacije.
  15. Koja je uloga srednjeg softvera `UseAuthentication` u ASP.NET Core?
  16. The UseAuthentication middleware se koristi za omogućavanje provjere autentičnosti u aplikaciji ASP.NET Core. Osigurava da se dolazni zahtjevi provjeravaju za valjane autentifikacijske tokene ili vjerodajnice. Ovaj međuprogram mora se dodati prije UseAuthorization međuprogram za ispravnu autentifikaciju korisnika prije izvođenja bilo kakvih provjera autorizacije.
  17. Kako mogu konfigurirati autentifikaciju i autorizaciju za API-je u ASP.NET Core?
  18. Da biste konfigurirali autentifikaciju i autorizaciju za API-je, morate koristiti AddAuthentication i AddAuthorization metode u datoteci `Program.cs`. Ove metode postavljaju sheme provjere autentičnosti (kao što su JWT i Negotiate) i definiraju pravila koja određuju koje rute trebaju biti zaštićene kojom shemom provjere autentičnosti. Zatim upotrijebite [Authorize] atribut za osiguranje vaših ruta.
  19. Koja je korist od upotrebe JWT Bearer Authentication u web API-jima?
  20. JWT Bearer Authentication metoda je provjere autentičnosti bez stanja koja pruža skalabilan i siguran način provjere autentičnosti korisnika bez održavanja stanja sesije na poslužitelju. Posebno je koristan za API-je jer omogućuje korisnicima autentifikaciju pomoću tokena, koji se lako može proslijediti u HTTP zahtjevima, što ga čini idealnim za moderne web aplikacije i mobilne klijente.

Kada gradite ASP.NET Core aplikaciju s oboje JWT provjera autentičnosti nositelja i Windows autentifikacija, upravljanje tim shemama provjere autentičnosti može biti izazovno. Cilj je ograničiti WWW-Autentifikacija zaglavlje za prikaz samo relevantne sheme na temelju rute. Definiranjem prilagođenih pravila autorizacije i rukovanjem OnChallenge događaja, programeri mogu učinkovito kontrolirati zaglavlja odgovora i osigurati da se svaka shema provjere autentičnosti primjenjuje samo tamo gdje je to prikladno. Ovaj pristup poboljšava sigurnost i korisničko iskustvo, osobito u scenarijima gdje su potrebni višestruki mehanizmi provjere autentičnosti.

Osiguravanje ispravnih zaglavlja za provjeru autentičnosti za određene rute

U modernoj aplikaciji ASP.NET Core, kontroliranje shema provjere autentičnosti kao što su JWT i Windows autentifikacija za različite rute može dovesti do čišćih i sigurnijih implementacija. Ključni izazov ovdje je osigurati da WWW-Autentifikacija zaglavlja oglašavaju samo odgovarajuću metodu provjere autentičnosti za svaku rutu. Ispravnim konfiguriranjem shema provjere autentičnosti i prilagođavanjem zaglavlja odgovora za svaku rutu, možete eliminirati sukobe i poboljšati sigurnost svoje aplikacije. 🌐

U vašem slučaju, rješenje uključuje korištenje prilagođenih pravila autorizacije i za JWT i za Windows autentifikaciju. Uz pomoć ovih pravila možete kontrolirati koja se shema provjere autentičnosti treba koristiti na temelju rute. Potiskivanjem zadane WWW-Autentifikacija zaglavlje kroz OnChallenge događaja u vašoj JWT konfiguraciji, možete prilagoditi odgovor tako da prikazuje samo zaglavlje Bearer za JWT rute i zaglavlje Negotiate za rute Windows autentifikacije. Ovaj pristup osigurava da se samo relevantno zaglavlje šalje u odgovoru, pojednostavljujući postupak autentifikacije i poboljšavajući korisničko iskustvo. 🔒

Korištenjem ovih tehnika možete postići čišći tijek provjere autentičnosti za svoje korisnike i izbjeći nepotrebne upite za provjeru autentičnosti. Štoviše, pruža bolju kontrolu nad sigurnosnim položajem vaše aplikacije. To je izvrstan primjer kako fino podešavanje autentifikacije u ASP.NET Core omogućuje prilagođenije, robusnije i sigurnije web aplikacije. 💻

Izvori i reference
  1. Za dublje upoznavanje konfiguracije provjere autentičnosti u ASP.NET Core, pogledajte službenu Microsoftovu dokumentaciju na ASP.NET Core autentifikacija .
  2. Za smjernice o korištenju JWT provjere autentičnosti nositelja i rukovanju višestrukim shemama, pogledajte ovaj sveobuhvatni vodič o JWT provjera autentičnosti nositelja u ASP.NET Core .
  3. Za više pojedinosti o Windows autentifikaciji i pregovaračkoj shemi, pogledajte dokumentaciju na Windows autentifikacija u ASP.NET Core .