Files
keywarden/app/apps/accounts/views.py
2025-11-11 15:51:54 +00:00

30 lines
915 B
Python

from django.contrib.auth.decorators import login_required
from django.shortcuts import render
from django.conf import settings
from django.shortcuts import redirect
from django.contrib.auth import views as auth_views
from django.contrib.auth import logout
@login_required(login_url="/accounts/login/")
def profile(request):
context = {
"user": request.user,
"auth_mode": getattr(settings, "KEYWARDEN_AUTH_MODE", "hybrid"),
}
return render(request, "accounts/profile.html", context)
def login_view(request):
auth_mode = getattr(settings, "KEYWARDEN_AUTH_MODE", "hybrid")
if auth_mode == "oidc":
return redirect("/oidc/authenticate/")
# native or hybrid -> render Django's built-in login view
return auth_views.LoginView.as_view(template_name="accounts/login.html")(request)
def logout_view(request):
logout(request)
return redirect(getattr(settings, "LOGOUT_REDIRECT_URL", "/"))