User Signup

By default dino doesn’t allow new users to sign up themselves. This means that users have to be created manually, using a username and password. The login data can then be passed to the user. Depending on your organisation, allowing the right users to create accounts themselves might be required.

Enabling Signup

To enable users to create accounts themselves, add the DINO_ENABLE_EMAIL_SIGNUP setting to your dino configuration (/etc/dino.cfg, or another location):

# enable signup via email/password
DINO_ENABLE_EMAIL_SIGNUP=True
# and/or enable social signup, see below
#DINO_ENABLE_SOCIAL_SIGNUP=True

Warning

Please be aware that this enables anyone with access to dino to create new, permissionless accounts. This is probably not what you want. Continue to the next section to restrict signups.

Restricting Domains

To combat the “everything can sign up”-siguration, you can restrict the mail domains, which can be used to create new accounts. This applies to both email/password accounts and social accounts. This can be used to only allow signups from your company domain.

In /etc/dino.cfg (or wherever you configure your dino), add the following and restart dino:

DINO_VALID_SIGNUP_DOMAINS=example.com

The above configuration allows anyone with a ...@example.com mail address to create accounts.

Social Accounts

Dino utilizes django-allauth to enable login and signup using various providers. Most of them will not be of much use in typical dino deployments; you might find Google, GitLab or OpenID useful, if your organisation uses one of them for authentication interally.

We’ll run through adding Google login to dino. The process is almost identical for most other providers; take a look at the allauth documentation for your provider for details.

First, we need to load the google provider. In /etc/dino.cfg (or wherever you configure your dino), add the following and restart dino:

DINO_LOGIN_PROVIDERS=google
# and optionally
#DINO_ENABLE_SOCIAL_SIGNUP=True

Now, continue with the django-allauth docs about app registration, to create a config at google and add it to dino. After those setps, the provider setup is finished.