public string Decrypt(string encryptedString) { try { var tokenBytes = Convert.FromBase64String(encryptedString); string decryptedToken; using (var aes = Aes.Create()) { aes.Key = _keyBytes; aes.IV = _ivBytes; var decryptor = aes.CreateDecryptor(aes.Key, aes.IV); using (var mStream = new MemoryStream(tokenBytes)) { using (var decryptoStream = new CryptoStream(mStream, decryptor, CryptoStreamMode.Read)) { using (var streamReader = new StreamReader(decryptoStream)) { decryptedToken = streamReader.ReadToEnd(); } } } } return(decryptedToken); } catch (Exception) { throw TokenExpiredException.ThrowTokenExpiredException(); } }
public static void WriteTokenExpired(this ILogger logger, TokenExpiredException exception) { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } logger.LogWarning(exception, "[{name}/{id}] Invalid jwt token, TokenExpiredException", Name, TokenExpired); }
private string[] ParseToken(string tokenString) { var splitToken = tokenString.Split('|'); if (splitToken.Length != TokenPartsCount) { throw TokenExpiredException.ThrowTokenExpiredException(); } return(splitToken); }
public static Neo4jException ParseServerException(string code, string message) { Neo4jException error; var parts = code.Split('.'); var classification = parts[1].ToLowerInvariant(); switch (classification) { case "clienterror": if (AuthenticationException.IsAuthenticationError(code)) { error = new AuthenticationException(message); } else if (AuthorizationException.IsAuthorizationError(code)) { error = new AuthorizationException(message); } else if (ProtocolException.IsProtocolError(code)) { error = new ProtocolException(code, message); } else if (FatalDiscoveryException.IsFatalDiscoveryError(code)) { error = new FatalDiscoveryException(message); } else if (TokenExpiredException.IsTokenExpiredError(code)) { error = new TokenExpiredException(message); } else if (InvalidBookmarkException.IsInvalidBookmarkException(code)) { error = new InvalidBookmarkException(message); } else { error = new ClientException(code, message); } break; case "transienterror": error = new TransientException(code, message); break; default: error = new DatabaseException(code, message); break; } return(error); }
private void CheckTokenValidity(DomainToken token) { var databaseToken = _iUnitOfWork.TokenRepository.GetByGuid(token.Guid); if (databaseToken == null || databaseToken.IsExpired) { throw TokenExpiredException.ThrowTokenExpiredException(); } if (DateTime.UtcNow - databaseToken.GenerationDate <= TimeSpan.FromDays(21)) { return; } ExpireToken(token); throw TokenExpiredException.ThrowTokenExpiredException(); }