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))); }
public (string Hash, string Salt) GenerateRandomPassword() { var randomString = _randomStringGenerator.GenerateString(); return(CreatePasswordHash(randomString)); }