I was lazy of creating one exception per type, it also allows me to catch only one exception type (the grant flows may throws a lot of different OAuth2 exception). But yes, considering a base OAuth2ExceptionInterface would be a nice addition.