Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/configuration/authentication/oauth.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,15 @@ The correspondence between the user fields obtained from the OAuth authorization
* uid: the unique identifier for SeaTable identify a user from the OAuth provider.
* name: the name of a user in SeaTable
* contact_email: a user's contact email in SeaTable

#### **OAUTH_CREATE_UNKNOWN_USER**

Controls just-in-time (JIT) user provisioning. Default is `True`: a SeaTable account is created automatically the first time a user authenticates successfully via OAuth. Set it to `False` to disable auto-provisioning — users who already have a SeaTable account continue to log in via OAuth, but users without an existing account are rejected and **no** account is created:

```python
OAUTH_CREATE_UNKNOWN_USER = False
```

Use this when account eligibility is governed outside of SeaTable (for example by your identity provider or an identity-governance system). With auto-provisioning disabled, new users must exist in SeaTable beforehand — created by an administrator or via import — before their first login.

A related option, `OAUTH_ACTIVATE_USER_AFTER_CREATION` (default `True`), keeps auto-provisioning on but creates new users in an inactive state that requires admin approval; set it to `False` for that behavior.
5 changes: 5 additions & 0 deletions docs/configuration/authentication/saml.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ To enable SAML, add the following parameters to `dtable_web_settings.py`, custom
| SAML_REMOTE_METADATA_URL | URL of metadata.xml used by SAML IdP | URL, e.g. 'https://login.microsoftonline.com/xxx/federationmetadata/2007-06/federationmetadata.xml?appid=xxx' |
| SAML_ATTRIBUTE_MAP | Key-value pairs mapping SAML attributes to local attributes | Keys are the SAML attributes from the IdP; some IdPs use attribute like 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' |
| SAML_CERTS_DIR | Path to certificates within the Seatable Docker container | Path, e.g. /opt/seatable/seahub-data/certs |
| SAML_CREATE_UNKNOWN_USER | Enables/disables just-in-time user provisioning on first login (optional) | `True` (default) or `False`. With `False`, existing users can still log in, but no new accounts are created |

This is a sample configuration. Adapt the values to your needs.

Expand All @@ -120,6 +121,10 @@ SAML_ATTRIBUTE_MAP = {
SAML_CERTS_DIR = '/shared/certs'
```

!!! note "Controlling auto-provisioning"

By default SeaTable creates a user account on the first successful SAML login (`SAML_CREATE_UNKNOWN_USER = True`). To stop new accounts from being created while keeping existing SSO users working, set `SAML_CREATE_UNKNOWN_USER = False`. New users must then be provisioned in SeaTable beforehand (by an administrator or via import).

!!! warning "Details about the SAML_ATTRIBUTE_MAP"

The `SAML_ATTRIBUTE_MAP` defines the values provided by the IdP that SeaTable uses to create a user or update the user's profile.
Expand Down
Loading