コード例 #1
0
        public string CreateToken()
        {
            var whenCreated = BitConverter.GetBytes(SystemTime.Now().ToBinary());
            var key         = SystemGuid.NewGuid().ToByteArray();

            return(Convert.ToBase64String(whenCreated.Concat(key).ToArray()));
        }
コード例 #2
0
        public async Task Register(UserForRegisterDto userForRegister)
        {
            if (userForRegister == null)
            {
                throw new ArgumentNullException(nameof(userForRegister));
            }

            var userToCreate = _mapper.Map <User>(userForRegister);

            SetPasswordForUser(userToCreate, userForRegister.Password);

            userToCreate.ActivationToken = CreateToken <AccountActivationToken>();
            userToCreate.PendingUploadPhotosFolderName = SystemGuid.NewGuid().ToString("N");

            await UserRepository.AddAsync(userToCreate);

            await _unitOfWork.CompleteAsync();
        }
コード例 #3
0
        public void CreateToken_WhenCalled_ProperTokenExpected()
        {
            // ARRANGE
            var provider = new TokenProvider();
            var time     = DateTime.Now;

            SystemTime.Set(() => time);
            var key = SystemGuid.NewGuid();

            SystemGuid.Set(() => key);
            var expected = Convert.ToBase64String(BitConverter.GetBytes(time.ToBinary())
                                                  .Concat(key.ToByteArray()).ToArray());

            // ACT
            var actual = provider.CreateToken();

            // ASSERT
            actual.Should().BeEquivalentTo(expected);
        }