Veikedo

Untitled

Dec 21st, 2020
709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.74 KB | None | 0 0
  1.      .AddJwtBearer(options =>
  2.         {
  3.           options.TokenValidationParameters = tokenValidationParameters;
  4.           options.Events = new JwtBearerEvents {OnTokenValidated = OnTokenValidated};
  5.         });
  6.  
  7.       return services;
  8.     }
  9.  
  10.     private static Task OnTokenValidated(TokenValidatedContext ctx)
  11.     {
  12.       var roles = ctx.Principal.Claims.FirstOrDefault(x => x.Type == "custom:roles");
  13.  
  14.       if (!string.IsNullOrWhiteSpace(roles?.Value))
  15.       {
  16.         var claims = roles.Value.Split(",")
  17.           .Select(x => new Claim(ClaimTypes.Role, x))
  18.           .ToList();
  19.  
  20.         var appIdentity = new ClaimsIdentity(claims);
  21.         ctx.Principal.AddIdentity(appIdentity);
  22.       }
  23.  
  24.       return Task.CompletedTask;
  25.     }
Advertisement
Add Comment
Please, Sign In to add comment