Quantcast
Channel: Visual Studio and Visual Web Developer Express
Viewing all articles
Browse latest Browse all 3509

Error using custom claims transformer (System.Linq)

$
0
0

I had a VS 2017 ASP.NET Core 2.2 Project and I wanted to start a new project based on the same code.

I created a new project and copied in the main code. I then reinstalled the NuGet packages (same versions) and checked that all the configs were the same. I renamed the namespace to be the same as the project.

In startup.cs:

services.AddAuthentication(IISDefaults.AuthenticationScheme);

services.AddAuthorization(options =>
{
options.AddPolicy("GroupOne", policy =>
policy.Requirements.Add(new GroupRequirement(new string [] { Environment.GetEnvironmentVariable("GROUP")})));

});

services.AddTransient<IClaimsTransformation, CustomClaimsTransformer>();

Transformer - if I set a breakpoint in here it never gets hit:

using MyProject.MyManagement;
using Microsoft.AspNetCore.Authentication;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;

namespace MyProject.Test
{
public class CustomClaimsTransformer : IClaimsTransformation
{
public Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
{
var identity = principal.Identities.FirstOrDefault(x => x.IsAuthenticated);
if (identity == null) return Task.FromResult(principal);

var user = identity.Name;
if (user == null) return Task.FromResult(principal);


((ClaimsIdentity)principal.Identity).AddClaim(new Claim("Code", TestManagement.GetCode(user)));
return Task.FromResult(principal);
}
}
}

The only error I get on the webpage is that the claim doesn't exist.

VS Output: Exception thrown: 'System.InvalidOperationException' in System.Linq.dll

Chrome:Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Setting a breakpoint in the claims transformer doesn't seem to do anything.

Renaming the namespace in the old project works fine, so the main difference is that I manually reinstalled the dependences using NuGet. I have gone through every config and property menu and they seem identical. 

I have no idea how to get better errors?


Viewing all articles
Browse latest Browse all 3509

Trending Articles



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