G Suite Integration

In this article, we will explain how G Suite customers can connect their Google Directories to Curricula learner groups to efficiently manage program users(which we call Learners). Syncing a Curricula learner group with a G Suite account requires, first, that you configure the Google Directory settings and create a Service Account Key before connecting the directory to your Curricula learners group.   

Steps 1-3 will guide you through configuring in G Suite. Step 4 explains how to connect your directory to Curricula.  

Step 1: Creating New Project

 Begin configuring your Google Directory by creating a new project in your Google Cloud Console.  
  1. Sign into your Google Cloud Console. Click the “Projects" drop-down menu in the main navigation bar, then click "New Project".

  2. Give it a Curricula related name, for example, "Curricula Integration", then click "Create". From this point forward we will be working inside this newly created project.

  3. Next, navigate to APIs & Services->OAuth consent screen. Update the "Application name" field with "Curricula", then click "Save" at the bottom of the page.

 

Step 2: Creating Service Account

 After creating this new project, remain in your Google Cloud Console to create a new Service Account.  

From the Google Cloud Console, follow these steps to create a new Service Account

  1. Navigate to APIs & Services->Dashboard, then click "Enabled APIs and Services". Find the service named "Admin SDK" and click "Enable".

  2. Next, navigate to APIs & Services->Credentials. Click "Create credentials" and be sure to choose "Service account key".

  3. You should now be taken to the Service Account Creation page. From here, choose "New service account" from the dropdown menu, then provide a Curricula related name, for example, "Curricula-Service-Account".
     
  4. Then, select a service account's project role. We suggest Project->Viewer.

  5. Next, choose "JSON" as your key type, then click "Create". This will trigger a download for the Service Account's Key (.json file) — save this key for use later.

  6. Next, navigate to IAM & admin->Service accounts, then click on the newly created service account to edit it. Click "Show Domain-wide Delegation", then check the box for "Enable G Suite Domain-wide Delegation" and click "Save" at the bottom of the form.

  7. Now, we need to obtain the "Client Id" (also known as a "unique id") for this account. Again, click on the newly created service account to edit it. Look for the "Unique Id" attribute listed for this service account and copy it to your clipboard for use in the next step.
At this point, you can log out of your Google Cloud Console and proceed to the Google Admin Console.

Step 3: Authorize Scopes 

With Steps 1 and 2 complete, you will need to define and authorize the scope of access in your Google Admin Console before connecting your Google Directory to Curricula.  
  1. Sign into your Google Admin Console.

  2. Select Security from the list of controls. If you don't see Security listed, select More controls from the gray bar at the bottom of the page and look for Security from the list of controls.

  3. Select Advanced settings from the list of options.

  4. Select Manage API client access in the Authentication section.

  5. In the Client name field, enter the client ID obtained from the previous Create Service Account step.

  6. In the One or More API Scopes field enter "https://www.googleapis.com/auth/admin.directory.user.readonly " and then click "Authorize".
   

Step 4: Configure in Curricula

 Now, with your Google Directory configured and Security Account Key saved, you are ready to connect the directory to your Curricula learners group.   

Follow these steps to connect your Google Directory to Curricula:  

  1. Sign into your Curricula account and navigate to Settings -> Learners --> Groups --> Edit Groups --> Management --> Management Type and choose "Google Directory" as the management type and click "Update".

  2. Enter your Google domain into the "Domain" field on the configuration tab. 

  3. Enter the email address of a user with administrator privileges into the "Admin User" field on the configuration tab.
    GSuite Integration Article
  4. Open the service account's key (.json) file downloaded from previous steps in your preferred text editor application. Copy all the text and paste it into the "Key" field and click "Update".


If your connection is successful head over to the Syncing Options page to configure your sync settings.      

    You can contact us anytime by submitting a support request using the link below: