1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-08-04 04:35:19 +02:00

feat: add social authentication support with enabled providers endpoint and UI integration

This commit is contained in:
Sean Morley 2025-01-06 14:25:57 -05:00
parent 4fdc16da58
commit 128c33d9a1
7 changed files with 83 additions and 12 deletions

View file

@ -42,6 +42,7 @@ INSTALLED_APPS = (
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
"allauth_ui",
'rest_framework',
'rest_framework.authtoken',
'allauth',
@ -49,8 +50,8 @@ INSTALLED_APPS = (
'allauth.mfa',
'allauth.headless',
'allauth.socialaccount',
# "widget_tweaks",
# "slippers",
'allauth.socialaccount.providers.github',
'allauth.socialaccount.providers.openid_connect',
'drf_yasg',
'corsheaders',
'adventures',
@ -58,6 +59,9 @@ INSTALLED_APPS = (
'users',
'integrations',
'django.contrib.gis',
'widget_tweaks',
'slippers',
)
MIDDLEWARE = (
@ -75,6 +79,8 @@ MIDDLEWARE = (
# disable verifications for new users
ACCOUNT_EMAIL_VERIFICATION = 'none'
ALLAUTH_UI_THEME = "night"
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
@ -120,7 +126,7 @@ USE_L10N = True
USE_TZ = True
SESSION_COOKIE_SAMESITE = None
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/
@ -143,6 +149,7 @@ STORAGES = {
}
}
SILENCED_SYSTEM_CHECKS = ["slippers.E001"]
TEMPLATES = [
{
@ -175,6 +182,9 @@ SESSION_SAVE_EVERY_REQUEST = True
FRONTEND_URL = getenv('FRONTEND_URL', 'http://localhost:3000')
# Set login redirect URL to the frontend
LOGIN_REDIRECT_URL = FRONTEND_URL
HEADLESS_FRONTEND_URLS = {
"account_confirm_email": f"{FRONTEND_URL}/user/verify-email/{{key}}",
"account_reset_password": f"{FRONTEND_URL}/user/reset-password",

View file

@ -3,7 +3,7 @@ from django.contrib import admin
from django.views.generic import RedirectView, TemplateView
from django.conf import settings
from django.conf.urls.static import static
from users.views import IsRegistrationDisabled, PublicUserListView, PublicUserDetailView, UserMetadataView, UpdateUserMetadataView
from users.views import IsRegistrationDisabled, PublicUserListView, PublicUserDetailView, UserMetadataView, UpdateUserMetadataView, EnabledSocialProvidersView
from .views import get_csrf_token
from drf_yasg.views import get_schema_view
@ -27,6 +27,8 @@ urlpatterns = [
path('auth/user-metadata/', UserMetadataView.as_view(), name='user-metadata'),
path('auth/social-providers/', EnabledSocialProvidersView.as_view(), name='enabled-social-providers'),
path('csrf/', get_csrf_token, name='get_csrf_token'),
path('', TemplateView.as_view(template_name='home.html')),