コード例 #1
0
ファイル: UserService.cs プロジェクト: cuongserver/ClientSPA
        public async Task <OutputAddMember> AddNewMember(InputAddMember member, string pepper)
        {
            var existedUser = await _userRepo.FindFirst(user => user.UserName == member.UserName);

            if (existedUser != null)
            {
                return new OutputAddMember {
                           Result = AddMemberResult.UsernameExists
                }
            }
            ;
            var id   = Guid.NewGuid();
            var user = new User
            {
                Id           = id,
                UserName     = member.UserName,
                PasswordHash = _enhancer.GenerateHashedPassword(member.Password, member.UserName, pepper)
            };

            try
            {
                await _userRepo.AddNew(user);

                return(new OutputAddMember
                {
                    Id = id,
                    Result = AddMemberResult.Success
                });
            }
            catch (Exception e)
            {
                return(new OutputAddMember
                {
                    Result = AddMemberResult.Error
                });
            }
        }
コード例 #2
0
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "Users",
                columns: table => new
            {
                Id            = table.Column <Guid>(nullable: false, defaultValue: "newid()"),
                UserName      = table.Column <string>(nullable: true),
                PasswordHash  = table.Column <string>(nullable: true),
                SecurityStamp = table.Column <string>(nullable: true),
                MfaEnabled    = table.Column <bool>(nullable: false)
            },
                constraints: table =>
            {
                table.PrimaryKey("PK_Users", x => x.Id);
            });
            var pepper          = "e9ghp6";
            var superuser       = "******";
            var initialPassword = "******";
            var enhancer        = new SecretEnhancer();
            var sql             = $"insert into Users(Id, UserName, PasswordHash, MfaEnabled) values (newid(), '{superuser}', '{enhancer.GenerateHashedPassword(initialPassword, superuser, pepper)}', 1)";

            migrationBuilder.Sql(sql);
        }
コード例 #3
0
        public void GenerateHashedPasswordTest()
        {
            var enhancer = new SecretEnhancer();

            TestContext.WriteLine(enhancer.GenerateHashedPassword("1234", "superuser", "e9ghp6"));
        }