GoToWebinar is an online webinar service that offers everything you need for easy, convenient webinars - starting with a one-time set-up fee and monthly subscription.
Cloud Firestore is a cloud-hosted, NoSQL database that your iOS, Android, and web apps can access directly via native SDKs.
Want to explore GoToWebinar + Cloud Firestore quick connects for faster integration? Here’s our list of the best GoToWebinar + Cloud Firestore quick connects.
Explore quick connectsLooking for the Cloud Firestore Alternatives? Here is the list of top Cloud Firestore Alternatives
It's easy to connect GoToWebinar + Cloud Firestore without coding knowledge. Start creating your own business flow.
Triggers when a registrant completes a webinar. At that point, they are considered an attendee.
Triggers when a new registrant is added to a webinar.
Trigger when new registrant created.
Triggers when you add a new upcoming webinar.
New Document Within a Firestore Collection
Create a new registrant for a webinar.
Create and schedule a new, single-session webinar.
Removes a registrant from a webinar.
Creates a new document within a Cloud Firestore collection.
(30 seconds)
(10 seconds)
(30 seconds)
(10 seconds)
(2 minutes)
This article will discuss the integration of GoToWebinar and Cloud Firestore. Before this discussion, first we should have a brief introduction about GoToWebinar and Cloud Firestore.
GoToWebinar is an online meeting service provider which enables users to host webinars on the internet. It provides a platform for participants to interact with each other in the webinar. This is different from WebEx or GoToMeeting where it does not allow users to use their own computers for live meetings. GoToWebinar was acquired by Citrix Systems in 2007.
Cloud Firestore is a cloud-hosted, noSQL document database that can be used as a real-time backend for mobile and web apps. Cloud Firestore is a serverless, low latency database that is tightly integrated with other Google Cloud Platform products, including Google App Engine and Cloud Functions.
It is very easy to integrate GoToWebinar and Cloud Firestore. To do this, there are two steps to fplow:
Step 1. Authenticate users with Google Sign-In and authorize access to their data.
Step 2. Send the authorization token to GoToWebinar and receive an encrypted token that you can use for your application.
First, let’s take a look at Google Sign-In. With Google Sign-In, you can sign users into your app and web sites without having to create and manage your own authentication system. Your users can authenticate using their Google accounts or any identity providers supported by Google Sign-In. They can also share certain data with your app or web site using OAuth2, such as their name or email address.
Google has provided a convenient way to create a Firebase project which contains both Cloud Firestore and Firebase Authentication. For more information, please read this article. How to Integrate Firebase Authentication with Cloud Firestore (using Google Sign-in)
Let’s get started! Create a new Firebase project in the Firebase conspe, then click Add Firebase to your web app, as shown in Figure 1.
Figure 1. Create New Firebase Project
Note. We will use Angular 4 (which uses Typescript. in this example. Install the fplowing packages via NPM. @angular/fire, angularfire2, firebase-auth, firebase-database, firebase-functions
Figure 2. Install AngularFire2 Packages via NPM
The next step is to install the Cloud Functions for Firebase library for NodeJS (or alternatively you can use bower or yarn to install the JavaScript library. In this case, we will use NodeJS to deploy our functions. The logic will be similar if you are deploying it on bower or yarn.
Figure 3. Install Cloud Functions for Firebase Library for NodeJS (or bower or yarn)
Let’s start by creating our authentication service. This authentication service contains all the functions we need to authenticate our user when they login via Google Sign-In. Note that we are using AngularFire2 as our AngularFire service provider. The code below uses Google Sign-In to authenticate a user with a Google account. If the user has already signed in, the auth variable will be assigned the user’s credentials associated with that account; otherwise, it will be undefined . We will use this auth variable during our GoToWebinar integration. The code in Listing 1 shows how to authenticate a user via Google Sign-In. The function used here is called googleSignIn(. . Notice that this function returns a promise object which we use later as shown in Listing 2.
Listing 1. Authentication Service (auth.service.ts)
import { Injectable } from ‘@angular/core’; import { AuthProviders, AuthMethods } from ‘angularfire2/auth’; import { Observable } from ‘rxjs/Observable’; import { map } from ‘rxjs/operators'; import { firebaseAuth } from ‘angularfire2/firebaseAuth’; import * as _ from ‘lodash'; @Injectable({ providedIn. 'root' }. export class AuthService { auth = firebaseAuth(); constructor(private authProvider. AuthProviders. {} // returns an observable of type Auth which contains either an accessToken or an error // // if an error is returned, you should call tokenRefreshPromise to refresh the access tokens & re-authenticate const getAuth$(). Observable<Auth> { return this.auth$.asObservable(); } // returns an observable of type AuthRefresher which can be used to refresh your access token & re-authenticate const tokenRefreshPromise$(). Observable<AuthRefresher> { return this.getAuth$(.pipe( map(auth => { if (auth. { return new AuthRefresher(auth); } else { return new AuthRefresher({}); } }. ); } // returns an observable of type Auth which contains either an accessToken or an error // // if an error is returned, you should call refreshPromise to refresh your access token const getAuth$(). Observable<Auth> { return this.$auth .pipe( switchMap(auth => { if (auth. { return new Promise((respve, reject. => { respve(new Auth()); }); } else { return new Promise((respve, reject. => { reject(new Error("Authentication failed.")); }); } }. ); } // returns an observable of type AuthRefresher which can be used to refresh your access token & re-authenticate const refreshPromise$(). Observable<AuthRefresher> { return this.$auth .pipe( switchMap(auth => { if (auth. { return new Promise((respve, reject. => { respve(new Auth()); }); } else { return new Promise((respve, reject. => { reject(new Error("Authentication failed.")); }); } }. ); } // logout of the current user's credentials function logout(. { return new Promise((respve, reject. => { firebaseAuth(.signOut(.then((. => { respve(); }. .catch((error. any. => { reject(error); }); }); } // login with new credentials function login(user. any. { return new Promise((respve, reject. => { firebaseAuth(.signInWithPopup(.then((result. => { if (result && result.credentials. { result = result.credentials; } const credential = result.credentials || result._id; respve(credential); }. .catch((error. any. => { reject(error); }. }); } public members(. { return ['logout', 'login', 'getAuth'] } }
Listing 2. Login with Google Sign-In (login.component.ts)
import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { AuthService } from './services/auth.service'; @Component({ selector. 'app-login', templateUrl. './login.component.html', styleUrls. ['./login.component.css'] }. export class LoginComponent implements OnInit{ constructor(private authService. AuthService, private router. Router){} ngOnInit(){ this.router.navigate('/home'); } }
Now let’s take a look at how we can implement the sign-in function in our GoToWebinar application using the API Token generated by Cloud Functions for Firebase Library for NodeJS (see Listing 3. The code in Listing 3 shows how we generate an API token using the TokenGenerator(. method from our auth service. Then we pass the API token information to GoToWebinar when we start the session (see Listing 4. In addition, we check if the user has been authenticated via Google Sign-In before allowing them to enter their username and password for GoToWebinar (see Listing 5. Otherwise, we redirect them back to Google Sign-In (see Listing 6. Finally, once they have signed in successfully in GoToWebinar, we will
The process to integrate GoToWebinar and Cloud Firestore may seem complicated and intimidating. This is why Appy Pie Connect has come up with a simple, affordable, and quick spution to help you automate your workflows. Click on the button below to begin.
How to Integrate GoToWebinar with Airtable?
How to Integrate GoToWebinar with MySQL?
How to Integrate GoToWebinar with uProc?
How to Integrate GoToWebinar with MongoDB?
How to Integrate GoToWebinar with Realtime Database?
How to Integrate GoToWebinar with snowflake?
How to Integrate GoToWebinar with Knack?
How to Integrate GoToWebinar with data247db?