public DomainToken CheckToken(string token) { if (token == null) { throw BankClientException.ThrowInvalidToken(); } var decryptedToken = _iEncryptorService.Decrypt(token); var tokenParts = ParseToken(decryptedToken); var tokenObject = CheckTokenParts(tokenParts); CheckTokenValidity(tokenObject); return(tokenObject); }
private DomainToken CheckTokenParts(string[] tokenParts) { Guid guid; DateTime date; var isSuccessGuidParse = Guid.TryParse(tokenParts[0], out guid); var login = tokenParts[1]; var userId = tokenParts[2]; var isSuccessDateParse = DateTime.TryParse(tokenParts[3], out date); if (!isSuccessGuidParse || !isSuccessDateParse) { throw BankClientException.ThrowInvalidToken(); } return(new DomainToken(guid, login, userId, date)); }
public void SignOut(string token) { if (token == null) { throw BankClientException.ThrowInvalidToken(); } var decryptedToken = _iEncryptorService.Decrypt(token); var tokenParts = ParseToken(decryptedToken); var tokenObject = CheckTokenParts(tokenParts); var databaseToken = _iUnitOfWork.TokenRepository.GetByGuid(tokenObject.Guid); if (databaseToken != null) { _iUnitOfWork.TokenRepository.Delete(databaseToken.Id); } _iUnitOfWork.SaveChanges(); }