public override async Task GetProfileDataAsync(ProfileDataRequestContext ctx)
        {
            var subject             = ctx.Subject;
            var requestedClaimTypes = ctx.RequestedClaimTypes;

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

            TKey key  = ConvertSubjectToKey(subject.GetSubjectId());
            var  acct = await userManager.FindByIdAsync(key);

            if (acct == null)
            {
                throw new ArgumentException("Invalid subject identifier");
            }

            var claims = await GetClaimsFromAccount(acct);

            if (requestedClaimTypes != null && requestedClaimTypes.Any())
            {
                claims = claims.Where(x => requestedClaimTypes.Contains(x.Type));
            }

            ctx.IssuedClaims = claims;
        }
        public async Task <IActionResult> ConfirmEmail(string userId, string code)
        {
            if (userId == null || code == null)
            {
                return(View("Error"));
            }
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(View("Error"));
            }
            var result = await _userManager.ConfirmEmailAsync(user, code);

            return(View(result.Succeeded ? "ConfirmEmail" : "Error"));
        }
예제 #3
0
        public async Task <User> FindByIdAsync(int userId)
        {
            var appIdentityUser = await _userManager.FindByIdAsync(userId);

            var user = IdentityModelFactory.Create(appIdentityUser);

            return(user);
        }