|
| 1 | +## Google Workspace |
| 2 | +An app for interacting with Google Workspace or GWS. |
| 3 | +## Requirements |
| 4 | +1) Enable the Admin SDK API from GCP console. |
| 5 | + - Login to Google cloud (Make sure you are using the same administrator acount that you're using for Google Workspace) and In the navigation menu on the left-hand side, click on “APIs & Services” > “Library”. |
| 6 | + - In the API Library, use the search bar to find the "Admin SDK". Click on it to open the API page. |
| 7 | + - Click the “Enable” button to activate the Admin SDK API for your project. |
| 8 | + 2) Create a Service account. |
| 9 | + - Go to the navigation menu, and select “IAM & Admin” > “Service Accounts”. |
| 10 | + - Click on “Create Service Account” at the top of the page. |
| 11 | + - Enter a service account name and description, then click “Create”. |
| 12 | + - You can skip the permission part here as we will be adding persmissions from GWS console later on. |
| 13 | + - In the service account details page, click on “Keys”. |
| 14 | + - Click on “Add Key” and select “Create new key”. |
| 15 | + - Choose “JSON” as the key type and click “Create”. This will download the JSON key file which contains the “client_id”. Note down this client ID. |
| 16 | + |
| 17 | + 3) Subject (Email address associated with the service account) |
| 18 | + - Note down the email address associated with the service account you just created it'll be used in the authentication in Shuffle. |
| 19 | + 4) Adding permissions to the service account from GWS console. |
| 20 | + - Signin to the Google Workspace admin console. |
| 21 | + - In the Admin console, locate the sidebar and navigate to Security > API controls. This area allows you to manage third-party and internal application access to your Google Workspace data. |
| 22 | + - Under the Domain-wide delegation section, click on “Manage Domain Wide Delegation” to view and configure client access. |
| 23 | + - If the service account client ID is not listed, you will add it; if it is already listed but you need to update permissions, click on the service account’s client ID. To add a new client ID: |
| 24 | + - Click on Add new. |
| 25 | + - Enter the Client ID of the service account you noted earlier when creating the service account in GCP. |
| 26 | + - In the OAuth Scopes field, enter the scopes required for your service account to function correctly. OAuth Scopes specify the permissions that your application requests. |
| 27 | + - Depending on the actions you want to use below are the OAuth scopes required. |
| 28 | + |
| 29 | +| Action | OAuth Scope | |
| 30 | +|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------| |
| 31 | +| Reset User Password | `https://www.googleapis.com/auth/admin.directory.user` | |
| 32 | +| Suspend User | `https://www.googleapis.com/auth/admin.directory.user` | |
| 33 | +| Get User Devices |`https://www.googleapis.com/auth/admin.directory.device.mobile` | |
| 34 | +| Reactivate User | `https://www.googleapis.com/auth/admin.directory.user` |
| 35 | + |
| 36 | +## Authentication |
| 37 | +1) Upload the Service account JSON file in to the Shuffle files and copy the file id. |
| 38 | +2) Now, Inside the GWS app authentication in Shuffle; use the file id you just copied and in subject use the email address asscoitate with your service account. |
| 39 | + |
| 40 | + |
0 commit comments