Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

ASP.NET Core Blazor multiple authentication schemes (OIDC + custom cookies)

$
0
0

I'm trying to implement a secondary cookie authentication scheme for an ASP.NET Core Blazor Web App (net8.) based on the official BlazorWebAppOidc sample.

I added another cookie authentication scheme like this:

builder.Services    // original code    .AddAuthentication(MS_OIDC_SCHEME)    .AddOpenIdConnect(MS_OIDC_SCHEME, oidcOptions =>    {        ...original code here...    })    .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme)     // my code here    .AddCookie("my-cookie-scheme", options =>    {        o.Cookie.Name = "my-cookie";    });

Then I login using special endpoints so that my-cookie is correctly set and sent with each subsequent request.

My problem is that this cookie is ignored. Only the "primary" cookie associated with the default "MS_OIDC_SCHEME" is taken into account. If only my-cookie is given, principal.Identity?.IsAuthenticated in PersistingAuthenticationStateProvider is false.

Only the default authentication scheme seems to be taken into account.

I tried to follow the advise in Use multiple authentication schemes, but it doesn't work. When I do not set a default authentication scheme in AddAuthentication, things get even worse and neither OIDC+cookie authentication nor my custom cookie authentication work.

Changing the DefaultPolicy in the AddAuthorization call to take all authentication scheme into account doesn't fix it.

How can I implement multiple authentication schemes? I want to configure multiple schemes with multiple different cookie names and authenticate the user using the first available cookie.


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>