Incorporate PKCE auth flow in gitlab-pages

Summary

From the discussion gitlab#342587 (comment 1226947133) : PKCE is the most secure OAuth flow so we should consider supporting that flow in the future in pages.

Current Pages auth flow is described here: gitlab#342587 (comment 1194769865)

Please refer GitLab Authorization code with Proof Key for Code Exchange (PKCE). Pages already have auth flow in place using state, we have to add CODE_VERIFIER and CODE_CHALLENGE in the existing flow.

Some useful links to generate CODE_VERIFIER and CODE_CHALLENGE: