This feature will be included in an upcoming release of Campus Cafe. If you have successfully authenticated emails via App Passwords, you do not need to complete this process.
Prior to October, 2024 Google only permitted 3rd Party Authenticated access for login via App Passwords. This process is still supported by Campus Cafe, but this presents a separate process that Google has recently enabled.
Google Cloud Console API
Create Cloud Console Project
Navigate to console.cloud.google.com
Click "APIs & Services"
Click the Project Dropdown menu in the upper left hand corner and Select "New Project" in the upper right hand menu:
Name your new Project something like "Campus Cafe Google MFA"
Select your organization from the "Location" browse option
Click Create. This will bring you to your new project page (it may take a minute for the project to create)
Click the Select a Project drop down, and in the chooser window, copy the Project ID to a separate file for Campus Cafe configuration (This will be the GOOGLE_PROJECTID value):
Create API Credentials
Click Credentials
Click +Create Credentials and select OAuth Client ID:
Under Application Type, click Web Application, and name it (Something like CC Gmail MFA):
In the "Redirect URI" enter https://###-web.scansoftware.com/cafeweb/redirectFromGoogle.html (where ### is your three-digit school code):
Click Create.
Copy the Client ID and the Client Secret and save them in a separate file:
Click OAuth Consent Screen
Click "Internal"
Set an App Name (Again, something like "Campus Cafe GMail MFA")
Set a support email (this is the email that will be displayed for users to contact with questions - a no-reply email is recommended)
Enter a Developer Contact Email (someone to be notified of API failures)
Click Save and Continue
On the Scopes screen, click Add or Remove Scopes
In pop-out from the side, in the Filter box, type "Gmail". Click the Checkbox next to the GMAIl API, click the checkbox next to the GMail API with the scope "https://mail.google.com", and click Update in the pop-out from the side:
If no results appear, click the Google API library link in the guidance box above:
Search for GMail API, and select the GMail API result. On the next screen, click "Enable":
Back in the Scopes window, click refresh on the browser, which will reset you to the OAuth Consent Screen page. Click "Save and Continue" at the bottom to get back to the Scopes screen, and Click "Add or Remove Scopes", filtering for Gmail API and clicking the checkbox next to the GMail API with the scope "https://mail.google.com"
Click Save and Continue in the Scopes screen. Click Save and Continue in the Test users screen Click "Back to Dashboard" in the Summary screen.
Click "Publish App" back in the OAuth consent screen
In Campus Cafe, navigate to Web App Configurations (Admin Menu → Web App) and search for “GOOGLE_” in the filter bar on the right above the grid.
Find GOOGLE_PROJECTID and click the checkbox next to it. Select “Edit Selected” from the top row of the results grid, and enter the Project ID copied down earlier from the Select a Project menu pop up. If it wasn’t copied it down originally, it will still be available. Click Update.
Find GOOGLE_CLIENTSECRET and enter the value copied down earlier from the Credentials Tab in the Google Cloud API screen. If it wasn’t copied down originally, it will still be available. Just select the Web Client OAuth 2.0 Client ID created earlier by clicking on the name of that Client from the list; it will be on the right side of the next screen. Enter that value (Note: NOT the Client ID value displayed on the OAuth 2.0 Client ID list!) in the Edit screen in Campus Cafe for GOOGLE_CLIENTSECRET.
Find GOOGLE_CLIENTID in the Web App Configurations list, and enter the value copied earlier. If it was not copied earlier, this is the value on the same line as the name of the OAuth 2.0 Client ID created earlier (There is a Copy button next to the truncated value). Enter this value in the Edit Screen in Campus Cafe for GOOGLE_CLIENTID
Refresh the Data Cache (Admin Menu → Refresh Data Cache)