Google SSO (OAuth) Signup failure when using fullscreen login/signup

AI-generated summary

A bug was reported by MrSleeps in Discourse v3.4.0.beta3-dev where Google OAuth signup fails when using the experimental fullscreen login/signup feature, resulting in a JavaScript error (Cannot read properties of undefined (reading 'set')) upon return from Google. However, the same process works correctly on the standard /login page. MrSleeps later confirmed that disabling the experimental fullscreen login setting resolves the issue. The bug was acknowledged and fixed by jancernik, who noted that social signups should now function properly with the fullscreen login enabled. The fix is available in commit 2ac1894. This issue affected not only the reporter’s instance but also the official Discourse site, confirming it was not an isolated configuration problem. Tags: fixed, google-login, sso. Category: Bug.

Recently set up a new discourse (Discourse v3.4.0.beta3-dev) on a fresh vps.

When I enable Google Oauth and head to the /signup page and sign up with a new Google user everything goes through Google just fine, however when the Oauth returns to my site I get a JS error in the console of:

rsvp.js:23 Uncaught TypeError: Cannot read properties of undefined (reading 'set')
    at auth-complete.js:145:38
    at Array.forEach (<anonymous>)
    at auth-complete.js:144:57
    at _ (rsvp.js:434:1)
    at y (rsvp.js:420:1)
    at invoke (backburner.js.js:282:1)
    at d.flush (backburner.js.js:197:1)
    at p.flush (backburner.js.js:358:1)
    at B._end (backburner.js.js:798:1)
    at B.end (backburner.js.js:589:1)
    at B._runExpiredTimers (backburner.js.js:905:1)

However, if I go to the /login page and do the same it works just fine.

The bug also happened when I tried to sign up here so it’s not just an issue with my install.

1 Like

After a bit more playing around, if I disable the experimental full page login setting the signup works fine.

2 Likes

Thanks @MrSleeps for reporting this one! It should be fixed now. The social signups should work when using the experimental fullpage login.

https://github.com/discourse/discourse/commit/2ac1894292af3388aaa33327201f282fd19f6266

6 Likes

This topic was automatically closed after 3 days. New replies are no longer allowed.