feat: OAuth authentication to GitLab.com
This MR implements OAuth token refreshing and enables the OAuth Authorization flow.
The MR creates the TokenExchangeService
which is now responsible for:
- Doing the initial OAuth exchange (code for the token) (step 2. of the PKCE flow) (first commit)
- Doing the subsequent token refreshes (step 3. of the PKCE flow) (second commit)
I recommend reviewing the MR commit-by-commit.
Related to #561 (closed)
Edited by Tomas Vik