Settings reference
Sign-in: internal accounts, Google and other providers
Internal accounts, a Google OAuth client, Microsoft Entra ID, Smartschool or any OpenID Connect provider.
Pick a way in
Colleagues sign in once, at the portal, and every app trusts that sign-in. You need at least one way in, and you can turn on several:
- Internal accounts: invite-only, with a password and an authenticator app. Nothing to set up elsewhere.
- Google Workspace: colleagues use their Google account. Needs an OAuth client in Google Cloud.
- Microsoft Entra ID, Smartschool or any OpenID Connect or OAuth2 provider.
Administrators is the one field you always fill in: the addresses that become administrator. With Google they are administrator from their first sign-in; with internal accounts they get an invite link.
Internal accounts
In the portal: Setup wizard, step 2, or Admin, Settings, Sign-in and access
Turn on Internal accounts. People get in only by invitation, choose a password, and must enrol an authenticator app (any TOTP app: Google Authenticator, Microsoft Authenticator, 1Password, …) before their first session.
The password rules (minimum length, capital, digit, symbol, not containing the email name) appear once internal accounts are on. Somebody whose password no longer meets new rules is asked to choose a new one at their next sign-in.
Locked out? As root on the server:
cyantula reset-admin you@example.comGoogle Workspace
In the portal: Setup wizard, step 2, or Admin, Sign-in providers, Google Workspace
You need a Google Cloud project, made with your Workspace account.
- Open Google Auth Platform in the Google Cloud console and pick or create a project. Set the audience to Internal, so only accounts in your Workspace can use it.
- Go to Clients and click Create client. Application type: Web application.
- Under Authorised redirect URIs, add the address the portal shows you, which is
https://<your portal>/auth/callback. - Create it and copy the Client ID (ending in
.apps.googleusercontent.com) and the Client secret into cyantula. - Fill in Google Workspace domains that may sign in, for example
example.com. Left empty, nobody gets in through Google: cyantula refuses rather than letting everyone in.
Microsoft Entra ID (Microsoft 365)
In the portal: Admin, Sign-in providers, Add provider, Microsoft Entra ID
- In the Microsoft Entra admin center, go to App registrations and click New registration. Supported account types: this organisational directory only.
- Redirect URI: platform Web, with the redirect address cyantula shows after you save the provider. You can add it later under Authentication.
- On the app's Overview, copy the Application (client) ID and the Directory (tenant) ID.
- Under Certificates & secrets, add a client secret and copy its Value (not its ID). Note when it expires: sign-in stops working that day until you paste a new one.
- In cyantula, the issuer is
https://login.microsoftonline.com/<tenant ID>/v2.0. Use your own tenant, never the sharedcommonaddress. Fill in the e-mail domains this provider may sign in. - Want Microsoft groups to give roles? Under Token configuration, click Add groups claim and pick Security groups (or Groups assigned to the application). Then choose which groups count under Groups and roles in the provider's menu in cyantula.
Smartschool
In the portal: Admin, Sign-in providers, Add provider, Smartschool
- Ask the Smartschool administrator of your school to register an OAuth client on the school's own Smartschool address. See Smartschool's OAuth documentation.
- Give them the redirect address cyantula shows after you save the provider.
- Fill in the authorization, token and userinfo addresses on your school's own Smartschool domain, plus the client ID and secret they give you.
- Click Test sign-in once to check the claim names against what your school sends. Classes as groups: add
groupinfoto the scopes and follow the hint under Groups claim.
Any other OpenID Connect or OAuth2 provider
In the portal: Admin, Sign-in providers, Add provider, Other OpenID Connect (or Other OAuth2)
Keycloak, Authentik, Okta, Google Cloud Identity or anything else. Register a confidential web client at the provider with the redirect address cyantula shows, then fill in:
- Issuer for OpenID Connect, then click Check issuer. For plain OAuth2: the authorization, token and userinfo addresses from the provider's documentation.
- Client id and Client secret.
- E-mail domains it signs in: only addresses on these domains get in through this provider.
- Optional: a Groups claim to keep groups in step, and the claim names when the provider uses unusual ones.
Apps that hold sensitive personal data
In the portal: Admin, Settings, Sign-in and access; the list is under Admin, Insights and audit, Sensitive data
cyantula notices apps that hold sensitive personal data. Admin, Insights and audit, Sensitive data lists them, high risk first, with the owner, how many people and groups may open each one, and whether anything is open to outsiders.
Sensitive apps open to outsiders only by an admin means an owner can no longer give a high risk app public pages, make it a public app or create an external share link: an admin does it. Doors that are already open stay open, and closing one is always allowed. Turn the setting off to leave that choice with the owner.