Search
 
SCRIPT & CODE EXAMPLE
 

CSHARP

blazor wasm roles not working

using App.Shared;
...

namespace App.Server
{
    public class Startup
    {

        ...

        public void ConfigureServices(IServiceCollection services)
        {
            ...

            services.AddDefaultIdentity<AppUser>(options =>
                {
                    options.SignIn.RequireConfirmedAccount = true;
                })
                .AddRoles<IdentityRole>()
                .AddEntityFrameworkStores<AppDb>();

            services.AddIdentityServer()
                .AddApiAuthorization<AppUser, AppDb>(options =>
                {
                    // https://github.com/dotnet/AspNetCore.Docs/issues/17649
                    options.IdentityResources["openid"].UserClaims.Add("role");
                    options.ApiResources.Single().UserClaims.Add("role");
                });
            // Need to do this as it maps "role" to ClaimTypes.Role and causes issues
            JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Remove("role");

            services.AddAuthentication()
                .AddIdentityServerJwt();

            services.AddAuthorization(options => options.AddAppPolicies());

            ...
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            ...

            app.UseAuthentication();
            app.UseAuthorization();
            app.UseIdentityServer();

            ...
        }
    }
}
Comment

blazor wasm roles not working

using App.Client.Services;
using App.Shared;
...

namespace App.Client
{
    public class Program
    {
        public static async Task Main(string[] args)
        {
            ...

            builder.Services.AddAuthorizationCore(options => options.AddAppPolicies());
            // 2 calls to AddApiAuthorization are necessary in 3.2-preview3
            // should be fixed in 3.2-preview4
            // https://github.com/dotnet/aspnetcore/issues/19854
            // https://github.com/dotnet/AspNetCore.Docs/issues/17649#issuecomment-612442543
            builder.Services.AddApiAuthorization();
            builder.Services.AddApiAuthorization(options =>
            {
                options.UserOptions.RoleClaim = "role";
            });

            ...
        }
    }
}
Comment

PREVIOUS NEXT
Code Example
Csharp :: C# EDSDK control lens 
Csharp :: unity ar scale 
Csharp :: mvc input number rounding 
Csharp :: c# function to validate decimal upto p(25,2) 
Csharp :: mysql executeScalar only if successful 
Csharp :: hierachical table to c# class 
Csharp :: get number of sundays in a month c# 
Csharp :: process method in scala 
Csharp :: C# Search in JSON without deserialization 
Csharp :: wpf loop through grid rows 
Csharp :: GridViewColumn url wpf 
Csharp :: c# propertyinfo indexof 
Csharp :: iqkeyboardmanagerswift 
Csharp :: how to detect a null bool C# 
Csharp :: c# ile ürün çekme - htmlagilitypack 
Csharp :: Expression And Filter 
Csharp :: inline c# custom operator implicit 
Csharp :: unity get object position on screen 
Csharp :: DataTable GetErrors 
Csharp :: call a .NET assembly from C or c++ 
Csharp :: c# i++ meaning 
Csharp :: c# creat pen 
Csharp :: c# code for simplex method 
Csharp :: Razor switch statement 
Csharp :: htmlgenericcontrol class c# 
Csharp :: c# how to output array 
Csharp :: C# pull appart property chain in expression 
Csharp :: how to twist a image in the code behind C# 
Csharp :: initialize c# array property of class object site:stackoverflow.com 
Csharp :: mock return exception c# 
ADD CONTENT
Topic
Content
Source link
Name
4+8 =