public async Task RegisterAsync(RegisterModel registerModel)
        {
            var result = await _userManager.CreateAsync(new User
            {
                Username = registerModel.Username,
                Email    = registerModel.Email,
                Claims   = new List <BaseClaim>
                {
                    StandardClaims.Sub(registerModel.Username),
                    StandardClaims.FullName(registerModel.Username),
                    StandardClaims.AccessAppSelectorPage
                }
            }, registerModel.Password);

            if (!result.Succeeded)
            {
                if (result.Errors.Any(a => a.Code == "DuplicateUserName"))
                {
                    throw new IdentityException(ErrorCodes.UsernameHasBeenRegistered);
                }
                else
                {
                    throw new IdentityException(new Core.Exceptions.ErrorCode {
                        MessageCode = result.Errors.First().Code, MessageContent = result.Errors.First().Description
                    });
                }
            }
        }
示例#2
0
        public Task Upgrade(IVersionContext versionContext)
        {
            var superAdminRole = new Role
            {
                Id             = "5c06a15e4cc9a850bca44488",
                Name           = Roles.SuperAdmin,
                NormalizedName = Roles.SuperAdmin.ToUpper(System.Globalization.CultureInfo.CurrentCulture),
                DisplayName    = "Super Admin",
                Claims         = new List <BaseClaim>
                {
                    StandardClaims.AccessCoreApp(Constants.CoreAppId)
                }
            };

            // Pass: @Dm1n!
            var adminAccount = new User
            {
                Id                 = "5ce287ee569d6f23e8504cef",
                Username           = "******",
                NormalizedUserName = "******",
                Domain             = string.Empty,
                PasswordHash       = "AQAAAAEAACcQAAAAEBhhMYTL5kwYqXheHSdarA/+vleSI07yGkTKNw1bb1jrTlYnBZK1CZ+zdHnqWwLLDA==",
                Email              = "*****@*****.**",
                NormalizedEmail    = "*****@*****.**",
                IsConfirmedEmail   = true,
                SecurityStamp      = "7YHYVBYWLTYC4EAPVRS2SWX2IIUOZ3XM",
                AccessFailedCount  = 0,
                IsLockoutEnabled   = false,
                LockoutEndDate     = DateTime.UtcNow,
                Roles              = new List <string>
                {
                    Roles.SuperAdmin
                },
                Claims = new List <BaseClaim>
                {
                    StandardClaims.AccessAppSelectorPage,
                    StandardClaims.Sub("admin"),
                    StandardClaims.UserId("5ce287ee569d6f23e8504cef"),
                    StandardClaims.FullName("Super Admin")
                }
            };

            versionContext.InsertData(adminAccount);
            versionContext.InsertData(superAdminRole);
            return(Task.CompletedTask);
        }
        public async Task <IActionResult> UpdateProfiles([FromBody] ProfileModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            await _identityServiceProvider.AddClaimsAsync(
                _httpContextAccessor.HttpContext.User.Identity.Name,
                new System.Collections.Generic.List <Identity.Entities.BaseClaim>
            {
                StandardClaims.FullName(model.FullName),
                StandardClaims.Avatar(model.Avatar)
            });

            return(NoContent());
        }