Add helper method to perform OAuth token exchange