Thanks Alex,
I appreciate your explanation, but it doesn’t actually help me progress. The process I’d like is rather simple:
- Users log in to the app via Bubble or any Oauth of their choice
- User connects their Google Calendar to their Bubble Account
- User is able to manage their Google Calendar from within their Bubble Account.
- User is able to disconnect their Google Calendar and remain logged in to Bubble.
The current process with the plugin is that if the user logs in using Bubble natively, and their Google Calendar is not connected, but the user wants to connect their Google Calendar, the plugin gives an error that there is no Google Calendar authorized before they get the chance to authorize it. So a user who has not authorized their google calendar because they signed in to Bubble natively is unable to do so even if they wanted to. This seems to be because of when the plugin checks if the Google Calendar is authorized, rather than the fact that the authorization needs to happen. The check for authorization can be done after the user has connected, rather than before. Therefore it seems like a plugin issue, rather than a Bubble or Google issue.
Your suggestion cannot function for several reasons:
a) One can’t have different user experiences for different users based on how they signed up into the application. Users who log in via Bubble natively should be able to connect to their Google Calendars just as easily as users who signed up using Google’s (or Google Calendar’s) Oauth.
b) Users should have the discretion when and whether they want to use Google Calendar, rather than being forced to provide access to Google Calendar on the first sign in, before they’ve determined that they need to or should. This would be unacceptable from a user experience perspective, where in order to use the app, which can operate without google calendar access, one i) must give calendar access, must use / have a google account. Users should be able to connect their Google Calendar when they feel it suits them in the usage of the app, not as a default setting for the usage of the app, where Google Calendar is but a value added feature.
c) Users may log in with other social networks other than Google / Google Calendar when not logging in natively through Bubble, such as Linkedin, Facebook, etc. Not enabling users who sign up for use of the app through other methods beyond signing up with Google / Google Calendar to connect their accounts at the moment they need a certain Google service is problematic beyond a) and b).
d) Other Oauth connections do not have this problem: Users who log in via bubble can connect their LinkedIn without signing out / being forced to log out of Bubble. This points to the plugin’s choice of where to authorize the credentials (pre-connection rather than post-connection) as being the issue, rather than Google or Bubble.
e) Users may want to disconnect their Google Calendar connection whilst staying logged in to the Bubble app. This functionality should be possible without revoking access to the app in the users’ Google settings, or being forced to log in and out of Bubble to disconnect their Google account.
The workaround, of logging the user out and initiating the sign in with Google Calendar within the same workflow, is very problematic, in that the user must reauthorize the Google Calendar every time they log in, and doesn’t address point e).
Much of this seems to stem from when the plugin performs the authorization, rather than Google or Bubble sign in issues, but the implications are large, and your suggestion to disable all other ways of logging in to the app other than via Google Calendar is unsatisfactory.