Ejemplo n.º 1
0
        public async Task AddClaimsAsync(TUser user, IEnumerable <Claim> claims, CancellationToken cancellationToken)
        {
            ThrowIfDisposed();
            cancellationToken.ThrowIfCancellationRequested();
            log.LogDebug("AddClaimsAsync");

            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            Guid siteGuid = siteSettings.Id;

            if (multiTenantOptions.UseRelatedSitesMode)
            {
                siteGuid = multiTenantOptions.RelatedSiteId;
            }

            foreach (Claim claim in claims)
            {
                UserClaim userClaim = new UserClaim();
                userClaim.SiteId     = siteGuid;
                userClaim.UserId     = user.Id;
                userClaim.ClaimType  = claim.Type;
                userClaim.ClaimValue = claim.Value;
                cancellationToken.ThrowIfCancellationRequested();
                await commands.CreateClaim(userClaim, cancellationToken);
            }
        }