Feature/componentize oauth2

Componentize oAuth 2.0 module