Mengcheng, thanks for your reply. My issue is not yet resolved (or solved), just the root cause is now known. Thanks for the technical reasons for OIDC using "#" instead of "?": it makes sense.
But that still leaves us in the situation where Gitkit does not work with AngularJS in hashbang mode. Hashbang mode is AngularJS's default mode, is the mode needed to support older browsers like IE9, and is the fallback mode for the HTML5 mode if it cannot work for any reason.
Is this situation okay? Or does it make sense to try to get Gitkit working with AngularJS/hashbang given AngularJS's popularity (if not dominance) for web apps (apps are what need user-auth the most, unlike brochureware sites where jQuery will do)? I think it does make sense to try.
Trying to change the OIDC spec or getting all the IDPs to change does not make sense (too hard; too time-consuming; too futile). That leaves Gitkit. Fortunately, there are 2 opportunities where Gitkit code has access to the "bad" URL before it is sent to the IDP. gitkit.js running in the browser uses the "bad" URL in window.location to create the request it sends to Identity Toolkit code (running server-side on
www.googleapis.com/identitytoolkit); the Identity Toolkit code (running server-side) processes then sends the request to the IDP. Both gitkit.js and the server-side Identity Toolkit code have an opportunity to fix the "bad" URL before its sent to the IDP. I can imagine several cunning designs, perhaps using a new "angular" parameter if needed, that could fix the "bad" URL before its sent to the IDP.
Until this issue is resolved, AngularJS/hashbang users such as myself cannot use Gitkit :(
Many MANY thanks for your time and help with this issue.
---- Don P