Exemple #1
0
        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));
        }