Add Basic Signin with IAM auth client
What does this MR do?
Implements OAuth client flow in the IAM Service to support GitLab acting as an OAuth/OIDC client when users authenticate with external providers (e.g., "Login with Google", "Login with GitHub").
This MR adds the basic sign-in functionality where the IAM service handles the OAuth flow with external providers and forwards user information to the appropriate cell.
How to test
- Enable the feature flag
iam_svc_login - Navigate to the GitLab sign-in page
- Click "Login with [Provider]" (e.g., Google, GitHub)
- Verify the request is routed to the IAM service
- Complete authentication with the external provider
- Verify the IAM service receives the authorization code and exchanges it for tokens
- Confirm user profile information is retrieved from the external provider
- Verify the IAM service looks up the user's cell via Topology Service
- Check that the cell is set in a cookie and the request is forwarded to the OAuth callback endpoint
Part of #585232
Edited by Aboobacker MK