I've been struggling with callback_url and Spring Social for some time.
Add following url to Twitter whitelisted. For localhost use:
https://localhost/auth/twitter
for deployed app:
https://example.com/auth/twitter
or
https://IP.ADR.ESS/auth/twitter
First make sure it works on localhost, meaning your machine.
If it works on localhost but fails afted deploy on specific IP, the problem is most probably with your server IP. Spring Social Twitter creats this urlcallback based on some host parameters. If you deploy on a machine that is behind a proxy, a real callack url may be different than IP addres the app is running on. That was my case. I had two VPS from different vendors. Same config worked on first, failed on second.