dotnet/aspnetcore

IClaimsTransformation do not automagically compose

Open

#46.120 geöffnet am 16. Jan. 2023

Auf GitHub ansehen
 (19 Kommentare) (25 Reaktionen) (0 zugewiesene Personen)C# (10.653 Forks)batch import
Pillar: Dev Experiencearea-authenhancementhelp wanteduntriaged

Repository-Metriken

Stars
 (37.933 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 16T 9h) (258 gemergte PRs in 30 T)

Beschreibung

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.

Multiple registrations on IClaimsTransformation should compose. For pete's sake, the signature for IClaimsTransformation is literally an async reduce function.

Describe the solution you'd like

A ReducerClaimsTransformer should be injected into AuthenticationService.Transform

public class ReducerClaimsTransformation : IClaimsTransformation
{
    public async Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
    {
        foreach (var transformation in _transformations)
        {
            principal = await transformation.TransformAsync(principal);
        }

        return principal;
    }
}

Additional context

No response

Contributor Guide