feat: implemented oauth2 module and directive