/// <summary>
 /// Filters the claims based on the requested claim types and then adds them to the IssuedClaims collection.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="claims">The claims.</param>
 public static void AddRequestedClaims(this ProfileDataRequestContext context, IEnumerable <Claim> claims)
 {
     if (context.RequestedClaimTypes.Any())
     {
         context.IssuedClaims.AddRange(context.FilterClaims(claims));
     }
 }
Ejemplo n.º 2
0
        public virtual async Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            var sub  = context.Subject.GetSubjectId();
            var user = await _userManager.FindByIdAsync(sub);

            var principal = await _claimsFactory.CreateAsync(user);

            context.FilterClaims(principal.Claims);
        }
Ejemplo n.º 3
0
        public Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            var subjectId = context.Subject.GetSubjectId();
            var user      = this._users.FirstOrDefault(u => u.SubjectId == subjectId);

            if (user != null)
            {
                var claims = context.FilterClaims(user.Claims);
                context.AddRequestedClaims(claims);
            }
            return(Task.CompletedTask);
        }
Ejemplo n.º 4
0
        public Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            var subjectId = context.Subject.GetSubjectId();

            Logger.LogDebug("Getting profile data for subjectId: {subjectId}", subjectId);
            var user = this._userStore.FindBySubjectId(subjectId);

            if (user != null)
            {
                Logger.LogDebug("The user was found in store");
                var claims = context.FilterClaims(user.Claims);
                context.AddRequestedClaims(claims);
            }
            return(Task.CompletedTask);
        }
Ejemplo n.º 5
0
        public async Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            string sub = context.Subject?.GetSubjectId();

            if (sub == null)
            {
                throw new Exception("No sub claim present");
            }

            var user = await _userManager.FindByIdAsync(sub);

            if (user != null)
            {
                var identity = new ClaimsIdentity();
                identity.AddClaims(user.Claims);
                var principal = new ClaimsPrincipal(identity);

                context.IssuedClaims = context.FilterClaims(principal.Claims.ToList());
            }
        }