fix oauth error handling, once and for all!