public Task SignInAsync(IPermission permission) { var securityProvider = Context.RequestServices.GetRequiredService <ISecurityProvider>(); ClaimsPrincipal principal = new ClaimsPrincipal(); ClaimsIdentity identity = new ClaimsIdentity("ComBoostAuthentication", ClaimTypes.Name, ClaimTypes.Role); identity.AddClaims(permission.GetStaticRoles().Select(t => new Claim(ClaimTypes.Role, securityProvider.ConvertRoleToString(t)))); identity.AddClaim(new Claim(ClaimTypes.Name, permission.Name)); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, permission.Identity)); principal.AddIdentity(identity); return(Context.SignInAsync("ComBoost", principal)); }