public void ConfigureServices(IServiceCollection services) { services .AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie() .AddJwtBearer(options => { options.TokenValidationParameters = BearerAuth.CreateTokenValidationParameters(); }); services.AddAuthorization(options => { options.AddPolicy("RequireClaimA", policy => policy.RequireClaim("ClaimA")); options.AddPolicy("RequireClaimB", policy => policy.RequireClaim("ClaimB")); }); services.AddMvc(o => { o.Filters.Add(new AuthorizeFilter("RequireClaimA")); }) .AddRazorPagesOptions(options => { options.Conventions.AllowAnonymousToPage("/AllowAnonymousPageViaConvention"); options.Conventions.AuthorizePage("/AuthorizePageViaConvention", "RequireClaimB"); }); }
public IActionResult LoginBearerClaimA() { var identity = new ClaimsIdentity(new[] { new Claim("ClaimA", "Value") }); return(Content(BearerAuth.GetTokenText(identity.Claims))); }