WIP: Extend WebHooks to support HTTP Negotiate/SPNEGO (Kerberos)
What does this MR do?
Extend WebHooks to support HTTP Negotiate/SPNEGO (Kerberos) -- fixes #31078.
This required replacing HTTParty with HTTPI.
This is a WIP MR because I haven't yet tested it against an actual Kerberized webserver. But I want to post it so folks know that this is in-progress.
Why was this MR needed?
We need Kerberos authentication so that our webhook receiver can tell that a webhook call in fact came from Gitlab (and thus that the information therein is trustworthy). Because the webhook is installed on user-owned repositories, there is no way to use a shared secret for authentication.
Does this MR meet the acceptance criteria?
- [/] Changelog entry added, if necessary
- [/] Documentation created/updated
- [/] API support added
- [/] Added for this feature/bug
- [/] All builds are passing
- Has been reviewed by UX
- Has been reviewed by Frontend
- Has been reviewed by Backend
- Has been reviewed by Database
- Conform by the merge request performance guides
- Conform by the style guides
Branch has no merge conflicts with
master(if it does - rebase it please)
- Squashed related commits together