示例#1
0
        public async Task <CreateTokenResponse> Handle(CreateTokenRequest request, CancellationToken cancellationToken)
        {
            var generatedString = _randomStringGenerator
                                  .GenerateString(CharacterType.Lowercase | CharacterType.Uppercase | CharacterType.Numerics, 64);

            var requestToken = new Domains.Dto.RequestToken {
                Key     = generatedString,
                Expires = _clockProvider.DateTimeOffset
                          .AddMinutes(request.ValidityPeriodInMinutes)
            };

            var savedRequestToken = await _requestTokenService.SaveRequestToken(await _encryptionProvider
                                                                                .Encrypt <Domains.Dto.RequestToken, RequestToken>(requestToken), cancellationToken);

            return(Response.Success <CreateTokenResponse>(await _encryptionProvider
                                                          .Decrypt <RequestToken, Domains.Dto.RequestToken>(savedRequestToken)));
        }
示例#2
0
        public (string Hash, string Salt) GenerateRandomPassword()
        {
            var randomString = _randomStringGenerator.GenerateString();

            return(CreatePasswordHash(randomString));
        }