Wie behandelt AuthenticationMiddleware mehrere SchemataC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie behandelt AuthenticationMiddleware mehrere Schemata

Post by Anonymous »

Wir wissen, dass wir mehrere Schemata verwenden können, um Benutzer wie < /p>
zu authentacatieren

Code: Select all

builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("JwtSettings", options))
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("CookieSettings", options));
Aber gemäß der AuthenticationMiddleware Code:
https://source.dot.net/#microsoft.aspne ... ware.cs,50
>

Code: Select all

public async Task Invoke(HttpContext context)
{
// ...
var handlers = context.RequestServices.GetRequiredService();
foreach (var scheme in await Schemes.GetRequestHandlerSchemesAsync())
{
var handler = await handlers.GetHandlerAsync(context, scheme.Name) as IAuthenticationRequestHandler;
if (handler != null && await handler.HandleRequestAsync())
{
return;
}
}

var defaultAuthenticate = await Schemes.GetDefaultAuthenticateSchemeAsync();
if (defaultAuthenticate != null)
{
var result = await context.AuthenticateAsync(defaultAuthenticate.Name);
// ...
}

await _next(context);
}
Die Foreach scheint in erster Linie Mulitple -Schemata anzuwenden. Es wird jedoch iAuthenticationRequestHandler nicht iauthenticationHandler . (https://source.dot.net/#microsoft.aspne ... ions.cs,81)
und die Interface -Implementierungskette ist:

Code: Select all

public class CookieAuthenticationHandler : SignInAuthenticationHandler

public abstract class SignInAuthenticationHandler : SignOutAuthenticationHandler, IAuthenticationSignInHandler

// ...
< /code>
SignInAuthenticationHandler
Implementiert IAuthenticationRequestHandler Wenn wir also den ganzen Weg nach oben verfolgen, wie handelt es sich also um AuthenticationMiddleware mehrere Schemata und zeichnet mehrere Handler auf? Soweit ich sehen kann, wird nur das Standardschema angewendet?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post