Note: GSuite users are strongly advised to use SAML authentication instead of OAuth wherever possible. SAML configurations are faster, simpler, more powerful and less brittle.
Table of Contents
- Enable API Access
- Create a New Role
- Create User for G-Suite Admin Account
- Assign the S3API Role to the New User
- Create Project for Streaming Server Integration
- Enable Admin SDK
- Create Service Account
- Update Service Account
- Manage API Client Access
- Configure Digital Campus Portal
- Activate
- Troubleshooting Login Issues
1. Enable API Access
- Login to your G Suite admin console at https://admin.google.com as an administrator
- Familiarize yourself with granting OAuth access to your G Suite implementation. You may find this Google documentation useful:
https://support.google.com/a/answer/7281227 - Ensure that Swank will have read access to the Admin SDK, Directory API, Users endpoint.
2. Create a new role
- Go to the admin roles: Click on the main menu (image below) > Account> Admin roles
- Click CREATE A NEW ROLE
- Name the new role S3APIand click Continue
- You will see a screen where you can assign privileges. Assign the following privileges by checking the appropriate boxes:
- Admin Console Privileges > Organizational Units > Read
- Admin Console Privileges > Users > Read
- Admin API Privileges > Organizational Units > Read
- Admin API Privileges > Users > Read
- Admin API Privileges > Groups > Read
- Admin API Privileges > Schema Management > Schema Read
- Click Continue
- Click Create Role
3. Create User for G Suite Admin Account
- Click on the main menu (image below) > Directory> Users
- Add a new user named gsuites3api
- Click Add new user
- First name: gsuite
- Last name: s3api
- Primary email: gsuites3api
- Click Manage user’s password, organizational unit, and profile photo
- Click Create password
- Create a password of your choice. We will not need this password, only the user's email.
- Be sure to deselect Ask for a password change at the next sign-in
- Click ADD NEW USER
4. Assign the S3API Role to the New User
- Click on the main menu (image below) > Directory > Users
- Locate user gsuite s3api and click on that username. You will see user information, security, groups, admin roles and privileges, etc. for this user.
- Locate the Admin roles and privileges section and click ASSIGN ROLES
- Assign the S3API role and click SAVE
5. Create Project for Streaming Server Integration
- Go to https://console.cloud.google.com/cloud-resource-manager
- Click CREATE PROJECT
- Enter the project name Swank Streaming Server and select your location / organization.
6. Enable Admin SDK
- Go to API Library https://console.cloud.google.com/apis/library
- Search for Admin SDK
- Admin SDK API allows administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.
- Admin SDK API allows administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.
- Select Admin SDK API
- Click Enable
7. Create Service Account
- Go to the API & Services Dashboard at https://console.cloud.google.com/apis/
- Make sure that the Swank Streaming Server project is selected
- Click Credentials on the left navigation menu
- Click Create credentials and select Service account key
- Enter OAuthForStreamingServer as the service account name and click Create and Continue
- Click Select a role > Service Accounts >Service Account User
- Note: This step is not optional and is required for our streaming server.
- Note: This step is not optional and is required for our streaming server.
- Click Continue
- Click Done
8. Update Service Account
- Make sure you are still on https://console.cloud.google.com
- Click on the Main Navigation Menu > APIs & Services > OAuth consent screen
- If requested select Internal for your organization.
- For Application name enter Swank Streaming Server
- User support email should be your local support group
- Developer contact information should also be your local support group
- Click Save and Continue
- No changes under Scopes, click Save and Continue
- No changes under Optional info, click Save and Continue
- Click Back to Dashboard under Summary
- Click Credentials on the left navigation menu
- You will see a screen with sections API Keys, OAuth 2.0 Client IDs and Service Accounts
- In the Service Accounts section, click on the pencil icon to edit the newly created service account OAuthForStreamingServer
- Under the Keys section click Add Key > Create new key
- Key type should be JSON
- Click Create and save that "JSON" file. You will need this to import into the Swank admin portal.
- This will create a file that you will need later to configure the Streaming Server. Save this file and reserve this for Step 10
- Under the Details tab select Show Advanced Settings.
- Click Create Google Workspace Marketplace-Compatible OAuth Client
- Click APIs & Services >Credentials on the left navigation menu
- Under the OAuth 2.0 Client IDs, click the copy icon under the Client ID column. You will need it in the next steps.
9. Manage API Client Access
- Go to https://admin.google.com/ac/owl/domainwidedelegation
- Click the "Add new" button that appears at the top of the page
- Enter the Client/Unique ID number that was copied in step 8.20
- For the OAuth scopes field enter the following URL string exactly - https://www.googleapis.com/auth/admin.directory.user.readonly
- Click Authorize
10. Configure Digital Campus Portal
- Navigate to your Digital Campus portal administrative page
- Select the "Google OAuth" area in the left-hand panel
- Upload Service Account Credentials (JSON file saved in previous step 8.16)
- Enter the name of your G Suite admin account (including the domain) in the "G Suite Admin Account" field.
- This is the name of the account as created in step 3.2.4
- Example: gsuites3api@schoolname.edu
- Enter a list of any Organizational Units that will require elevated privileges to your portal in the "Manage Authorization Roles" area.
- NOTE: You will want to enter the immediate parent OU of the users who will need elevated privileges.
- For example, if a teacher resides in an OU hierarchy such as:
-
- School Name
- Staff
-TeachersYou would need to enter the "Teachers" OU, not "Staff" or "School Name."
-
- For example, if a teacher resides in an OU hierarchy such as:
- Each OU that requires elevated privileges will need to be mapped to a role.
- Teachers and faculty should be mapped to the Instructor role.
- Administrators can optionally be mapped to the Admin role.
- K-12 students will be automatically given the Basic role and do not need to be mapped to a role.
- College or university students will be automatically given the User role and do not need to be mapped to a role.
- For each organizational unit that contains users who need elevated privileges to the Streaming Server:
- Enter the name of that organizational unit in the Manage Authorization Roles area on your streaming portal.
- Enter the name of that organizational unit in the Manage Authorization Roles area on your streaming portal.
- NOTE: You will want to enter the immediate parent OU of the users who will need elevated privileges.
-
- To review your current Organizational Unit hierarchy, go to: https://admin.google.com
- Click on the left navigation menu > Directory > Organizational Units
- You will see a hierarchical list of your organizational units.
11. Activate
Once you have completed your configuration remember to click the Activate button at the top right of the Google OAuth page.
12. Troubleshooting Login Issues
If you are having issues authenticating after completing your configuration, please refer to the following guide: Cloud Streaming - Google OAuth Troubleshooting – Swank Motion Pictures, Inc.
Comments
0 comments
Article is closed for comments.