|
4 | 4 | full-featured authentication system for Django projects. |
5 | 5 |
|
6 | 6 | HIdP provides all the default Django authentication functionalities and more: |
7 | | -- Registration (including email verification) |
| 7 | +- Registration (including email verification) (see [Registration](project:registration.md)) |
8 | 8 | - OpenID Connect (OIDC) Clients (Google and Microsoft included) |
9 | 9 | - One-time passwords (OTP) |
10 | 10 | - Rate limiting |
@@ -101,12 +101,18 @@ AUTH_USER_MODEL = "accounts.User" |
101 | 101 | ``` |
102 | 102 |
|
103 | 103 | ### `REGISTRATION_ENABLED` |
104 | | -Enable or disable registration in your Django settings (default is `False`): |
| 104 | +Enable or disable registration in your Django settings: |
105 | 105 |
|
106 | 106 | ```python |
107 | 107 | REGISTRATION_ENABLED = False |
108 | 108 | ``` |
109 | 109 |
|
| 110 | +:::{note} |
| 111 | +If `REGISTRATION_ENABLED` is not defined, it defaults to `True`. In a future version of HIdP, registration will be disabled if `REGISTRATION_ENABLED` is not defined. It is recommended to explicitly set `REGISTRATION_ENABLED` to `True` or `False` in your settings. |
| 112 | +::: |
| 113 | + |
| 114 | +See [Registration](project:registration.md) for more information on how HIdP handles account registration. |
| 115 | + |
110 | 116 | ### `OTP_TOTP_ISSUER` |
111 | 117 |
|
112 | 118 | Specifies the issuer name to be used in the Time-based One-Time Password (TOTP) URI. |
@@ -138,8 +144,8 @@ LOGOUT_REDIRECT_URL = "/" |
138 | 144 | HIdP comes with a set of extra password validators that can be added to |
139 | 145 | `settings.AUTH_PASSWORD_VALIDATORS` if desired. See [Password Validators](project:password-validation.md) |
140 | 146 | for more information. |
141 | | - |
142 | 147 | ::: |
| 148 | + |
143 | 149 | ### OpenID Connect based login (social accounts) |
144 | 150 |
|
145 | 151 | To enable users to log in using an existing Google, Microsoft or any other provider that |
@@ -184,10 +190,16 @@ urlpatterns = [ |
184 | 190 |
|
185 | 191 | ### Cache |
186 | 192 |
|
187 | | -HIdP requires a caching implementation, in order for the rate limits to properly work |
188 | | -and to store OIDC Provider signing keys. See [Django's cache framework](https://docs.djangoproject.com/en/stable/topics/cache/#django-s-cache-framework). |
| 193 | +HIdP requires a working Django cache backend to support rate limiting and to store |
| 194 | +OIDC Provider signing keys. A persistent and reliable cache is necessary for correct |
| 195 | +operation, especially for features like rate limiting and session management. |
| 196 | + |
| 197 | +For production deployments, it is strongly recommended to use a robust cache backend |
| 198 | +such as Redis or Memcached. For more details on cache requirements for rate limiting, |
| 199 | +see the [django-ratelimit documentation](https://django-ratelimit.readthedocs.io/en/stable/installation.html#create-or-use-a-compatible-cache) |
| 200 | +and [Django's cache framework](https://docs.djangoproject.com/en/stable/topics/cache/#django-s-cache-framework). |
189 | 201 |
|
190 | | -For example a Redis cache: |
| 202 | +#### Redis Cache Configuration: |
191 | 203 |
|
192 | 204 | ```python |
193 | 205 | CACHES = { |
|
0 commit comments