Fix case when an unauthorized access token is present and breaks the signature.
Use OAuthException where appropriate.
Move checks to their rightful place.