1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
from django.contrib.auth.hashers import PBKDF2PasswordHasher
from tests.projects.common.settings import HEADLESS_JWT_PRIVATE_KEY # noqa
from tests.projects.common.settings import IDP_OIDC_PRIVATE_KEY # noqa
from tests.projects.common.settings import TEMPLATES # noqa
from tests.projects.common.settings import INSTALLED_SOCIALACCOUNT_APPS
SECRET_KEY = "psst"
SITE_ID = 1
ALLOWED_HOSTS = (
"testserver",
"example.com",
)
USE_I18N = False
USE_TZ = True
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": ":memory:",
"USER": "",
"PASSWORD": "",
"HOST": "",
"PORT": "",
}
}
ROOT_URLCONF = "tests.projects.regular.urls"
LOGIN_URL = "/accounts/login/"
CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.dummy.DummyCache",
}
}
MIDDLEWARE = (
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"allauth.account.middleware.AccountMiddleware",
)
INSTALLED_APPS = (
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.sites",
"django.contrib.messages",
"django.contrib.staticfiles",
"django.contrib.admin",
"django.contrib.humanize",
"allauth",
"allauth.account",
"allauth.mfa",
"allauth.usersessions",
"allauth.headless",
"allauth.idp.oidc",
) + INSTALLED_SOCIALACCOUNT_APPS
AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend",
)
STATIC_ROOT = "/tmp/" # Dummy
STATIC_URL = "/static/"
class MyPBKDF2PasswordHasher(PBKDF2PasswordHasher):
"""
A subclass of PBKDF2PasswordHasher that uses 1 iteration.
This is for test purposes only. Never use anywhere else.
"""
iterations = 1
PASSWORD_HASHERS = [
"tests.projects.regular.settings.MyPBKDF2PasswordHasher",
"django.contrib.auth.hashers.PBKDF2PasswordHasher",
"django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher",
"django.contrib.auth.hashers.Argon2PasswordHasher",
"django.contrib.auth.hashers.BCryptSHA256PasswordHasher",
]
ACCOUNT_ADAPTER = "tests.projects.common.adapters.AccountAdapter"
SOCIALACCOUNT_QUERY_EMAIL = True
SOCIALACCOUNT_PROVIDERS = {
"openid_connect": {
"APPS": [
{
"provider_id": "unittest-server",
"name": "Unittest Server",
"client_id": "Unittest client_id",
"client_secret": "Unittest client_secret",
"settings": {
"server_url": "https://unittest.example.com",
},
},
{
"provider_id": "other-server",
"name": "Other Example Server",
"client_id": "other client_id",
"client_secret": "other client_secret",
"settings": {
"server_url": "https://other.example.com",
},
},
],
}
}
ACCOUNT_LOGIN_BY_CODE_ENABLED = True
MFA_SUPPORTED_TYPES = ["totp", "webauthn", "recovery_codes"]
MFA_PASSKEY_LOGIN_ENABLED = True
MFA_PASSKEY_SIGNUP_ENABLED = True
HEADLESS_SERVE_SPECIFICATION = True
|