Which protocol
Google Workspace supports both OIDC (via Google Cloud’s OAuth client) and SAML (via the Workspace admin console). For a typical MSP:
- SAML is simpler if you already manage custom SAML apps in Workspace → Apps → Web and mobile apps. No Google Cloud project required.
- OIDC is the modern choice if you already have a Google Cloud project for your org — or if you want a single consent screen that matches other internal apps.
Option A – SAML via the Workspace admin console
- In the Workspace admin console, go to Apps → Web and mobile apps → Add app → Add custom SAML app.
- Name it
Vectis. On the next screen, copy the SSO URL and download the Certificate (or copy its PEM text). Skip the IdP metadata download — Vectis takes the cert+URL directly. - For ACS URL, paste the Vectis SAML ACS URL (ends in
/api/auth/sso/saml/callback). For Entity ID, use the same URL or a human-readable value likehttps://your-workspace.mspvectis.comand enter that same value into Vectis’s SP Entity ID field. - Under Attribute mapping, map
Primary emailto an attribute namedemail. Optionally mapFirst name+Last nametodisplayName. - Turn the app ON for everyone (or for a specific OU that covers your Vectis operators), then wait a minute for propagation. Google caches the app-enabled state briefly.
- In Vectis Admin → SSO, pick SAML. Paste the SSO URL into SSO Entry Point URL and the certificate into IdP Certificate. Add your Workspace domain to Allowed Email Domains. Save.
Option B – OIDC via Google Cloud OAuth client
- In Google Cloud Console → APIs & Services → OAuth consent screen, configure it as Internal (restricts sign-in to your Workspace tenant). Set the app name to
Vectis. - In Credentials → Create credentials → OAuth client ID, pick Web application. Under Authorized redirect URIs, add the Vectis OIDC redirect URI (ends in
/api/auth/callback/sso-oidc). - Copy the Client ID and Client Secret.
- In Vectis Admin → SSO, pick OIDC. For Issuer URL, use
https://accounts.google.com. Paste the client ID and secret. Add your Workspace domain to Allowed Email Domains. Save and test.
Google’s SAML response includes a
NotOnOrAfter of ~5 minutes after issuance. If your Vectis host’s clock drifts, all logins fail with a generic assertion error. Keep NTP running.Troubleshooting
- “invalid_grant” on the OIDC path — the OAuth consent screen is External but not verified, and your user isn’t on the test-users list. Flip the consent screen to Internal (assuming all your Vectis operators are in the Workspace tenant).
- App restricted for security policy — the custom SAML app is OFF for the user’s OU. Workspace admin controls which OUs can reach which apps; enable the Vectis app for the Vectis-operators OU.