TL;DR: Is there a way to connect and disconnect to an OAuth whilst remaining logged in to a Bubble account created via Bubble’s native sign in function?
I’m using a plugin by Zeroqode that allows users to connect their Google Calendars with their Bubble Accounts. I’m encountering two issues that seem to be more of a Bubble Issue than a Plugin issue.
- In order to connect their calendar, a user must log in to Google Calendar using the Google Calendar App’s OAuth. However, because the user is already logged in to the Bubble App before they try to log in to the app via their Google Calendars, Bubble doesn’t allow this to happen, since the user is already logged in through Bubble’s native login process as far as Bubble is concerned. So the plugin returns an error that the user doesn’t have the authentication tokens for Google Calendar before they are able to try and log in using Google Calendar in order to get said authentications. A catch-22 emerges, where in order to get the authentication one must log in with Google Calendar but to try and log in with Google Calendar having already logged in with Bubble (or the plugin) returns an error even before the Google Calendar log in process can initiate.
The suboptimal workaround to this is that I’m using is, in the same workflow to connect to Google Calendar, a user is logged out of Bubble, then logged in to Google Calendar, which, upon returning to Bubble, keeps them in the same Bubble user account they normally log in with even if the Google Calendar email is different (as long as the Google Calendar email used doesn’t already have a Bubble account under the same email). This process, however, leads to the second problem.
- Once a connection is established between Google Calendar and Bubble, there is no way for the user to log out of Google Calendar whilst remaining logged in to Bubble, because there is only one action for logging a user out no matter whether they signed in through Bubble or through an OAuth provider, even though there are different actions for logging in depending on whether one is logging in through Bubble or an Oauth provider. This by itself, is problematic when a user is logged in to Bubble and the Oauth provider. This is only reset by logging in again using Bubble. However, doing this means the connection to the Oauth provider must be reinitialized, by a logging out of the native Bubble account and logging in again via the Oauth provider linked account everytime.
Zeroqode helpdesk says it’s not a plugin issue, it’s the nature of the relationship Bubble has with Google and OAuth providers, that one must log in with the OAuth at the expense of the native Bubble login, rather than just connecting the external service to their Bubble account which is validated by the OAuth.
TL;DR: Is there a way to connect and disconnect to an OAuth whilst remaining logged in to a Bubble account?