Implement OAuth2 Authentication
Closes #451 (closed) #452 (closed) #453 (closed) #458 (closed)
- The grader table has been modified to include oauth_id and set it as the primary key instead of the name
- Accessing any endpoint redirects to /oauth/start to initiate login with the OAuth provider. Once a user is logged in, login_user is called which allows access to Zesje and redirects to /
- /oauth/callback is the callback endpoint which should be called by the third party provider
- /oauth/grader gives the current logged in grader's details
- On the frontend, users are redirected to Login.jsx whenever the server throws a 401
- The grader dropdown list has been removed. Graders are set based on current user who is logged in.
- A mock oauth2 server has been set up in the development environment.
Edited by Anton Akhmerov