SilverBullet (in multi-server mode) supports SSO via OpenID Connect (OIDC). Administrators provision accounts individually and assign them to spaces. Local username/password accounts remain available alongside SSO accounts.
/.auth/central/oidc/callback; each space does not need a separate provider callback.Keep at least one working local administrator for recovery. Client secrets are stored in the data folder's authentication.json. Protect and back up this file together with users.json and the server’s authentication state.
Create a Web application OAuth client in Google Cloud, configure its consent audience for your organization, and register the exact callback shown by SilverBullet. Enter your Workspace domain in the wizard. SilverBullet checks the signed hd organization claim and requires a verified email, an email suffix alone is not proof of Workspace membership. See Google's OpenID Connect documentation.
Create a confidential OIDC client, register the displayed callback and enable Authorization Code with PKCE. Use the provider's issuer URL and client credentials. The provider must supply a stable subject and a verified email, using the openid, email and profile scopes.
SilverBullet's provider integration tests use Pocket ID, but the same generic configuration is intended for standards-compliant providers such as Authentik, Authelia, Keycloak, and ZITADEL. Provider defaults vary, so verify the required scopes, PKCE support, client authentication method, and email_verified claim with the sign-in test before enabling SSO. ID tokens with additional audiences (such as a ZITADEL project ID) are accepted when their azp claim equals the client ID. The user's email must be verified at the provider.
The server must reach the issuer’s discovery, authorization metadata, token and key endpoints. A private certificate authority can be supplied with SB_OIDC_CA_FILE, pointing to a PEM certificate trusted for provider connections. Certificate verification remains enabled.
Open Users → Add user, choose SSO, enter the expected email, and review the suggested username. Assign the user to the required spaces. Successful first sign-in binds the account to the provider's issuer and subject. Later sign-ins use that binding, so a provider email change does not silently move the account to someone else.
SSO does not automatically enroll unknown users or attach an identity to a local account with the same email. Users without space membership cannot access private spaces. Disable a user to revoke their access. Replacing the provider requires explicit review and may require reprovisioning SSO accounts.