コード例 #1
0
ファイル: MockUsers.cs プロジェクト: frudberg/PlainCore
        private static ApplicationUser CreateApplicationUser(string firstname, string lastname, string name, string password, bool emailConfirmed, IIdentityUserManager userManager, bool isSuperAdmin = false)
        {
            var             email = name;
            ApplicationUser applicationUser;

            applicationUser = new ApplicationUser
            {
                FirstName            = firstname,
                LastName             = lastname,
                UserName             = email,
                Email                = email,
                EmailConfirmed       = emailConfirmed,
                IsSuperAdministrator = isSuperAdmin,
            };

            if (!string.IsNullOrEmpty(password))
            {
                userManager.CreateAsync(applicationUser, password).Wait();
            }
            else
            {
                userManager.CreateAsync(applicationUser).Wait();
            }

            return(applicationUser);
        }
コード例 #2
0
        private async Task CreateUser(string name, string email, string password, bool isAdmin)
        {
            var user = await userManager.FindUserByNameAsync(name);

            if (user == null)
            {
                user = new User()
                {
                    UserName = name,
                    Email    = email
                };

                var userResult = await userManager.CreateAsync(user, password);

                if (!userResult.Succeeded)
                {
                    throw new InvalidOperationException("Failed to build user and roles");
                }

                if (isAdmin)
                {
                    var roleResult = await userManager.AddToRoleAsync(user, SystemRoles.Admin);

                    var claimResult = await userManager.AddClaimAsync(user, new System.Security.Claims.Claim(SystemClaims.IsAdmin, "true", System.Security.Claims.ClaimValueTypes.Boolean));

                    if (!roleResult.Succeeded || !claimResult.Succeeded)
                    {
                        throw new InvalidOperationException("Failed to build user and roles");
                    }
                }
            }
        }
コード例 #3
0
        public async override Task <CommandResult> ExecuteAsync(CreateUserCommand command)
        {
            Guard.NotNull <CreateUserCommand>("CreateUserCommand", command);

            var applicationUser = new ApplicationUser
            {
                FirstName      = command.FirstName,
                LastName       = command.LastName,
                UserName       = command.Username,
                Email          = command.Username,
                EmailConfirmed = command.EmailConfirmed
            };

            await userManager.CreateAsync(applicationUser, command.Password);

            await this.unitOfWork.UsersDBSet.AddAsync(new DomainModels.Users.User(applicationUser, command.TenantID));

            await this.unitOfWork.SaveChangesAsync();

            return(await base.ExecuteAsync(command));
        }
コード例 #4
0
ファイル: AuthController.cs プロジェクト: lgorkostrow/twith
        public async Task <ActionResult <AuthResponse> > SignUp([FromBody] SignUpRequest request)
        {
            var identityUser = await _identityUserManager.CreateAsync(request.Email, request.Password);

            var command = new CreateUserCommand(
                Guid.Parse(identityUser.Id),
                request.Email,
                request.FirstName,
                request.LastName,
                request.NickName
                );
            await CommandQueryDispatcher.SendCommandAsync(command);

            return(Ok(new AuthResponse(
                          command.Id,
                          command.Email,
                          command.FirstName,
                          command.LastName,
                          command.NickName,
                          _identityUserManager.GetTokenForUser(identityUser)
                          )));
        }