ConservationColorado / asana-hire

A lightweight recruitment management web application!
GNU General Public License v3.0
3 stars 0 forks source link

Feature/oauth2 google #19

Closed OliverAbdulrahim closed 1 year ago

OliverAbdulrahim commented 1 year ago

Overview

This pull request implements OpenID Connect (OIDC) authentication and OAuth2 authorization for this application.

Considerations

The authorization code OAuth2 flow is used. I selected this flow because the application will eventually need access to email scopes granted by Google Mail.

The front end application won't need to make those calls, so the entire flow is performed on the back end Spring server. This best protects sensitive user data from unauthorized access.

The sole OAuth2 provider used here is Google. If necessary, this implementation is certainly open to extension, either using other OAuth2 providers or a form login in the future.

Advantages to this approach

Disadvantages and counterpoints

Scope

Specific features introduced by this pull request: