Files
tabby-web/backend/tabby/app/api/__init__.py
Brian Olson 3aa321aff8 feat: dynamic auth providers + Auth0 support
- Add /api/1/auth/providers endpoint that returns only configured providers
- Frontend fetches available providers dynamically instead of hardcoding
- Only providers with credentials set (KEY + SECRET) appear as login options
- Add Auth0 as a supported authentication provider
- Add python-jose[cryptography] dependency for Auth0 JWT verification
- Show helpful message when no providers are configured

This makes the login page modular - administrators only see buttons for
providers they've actually configured, avoiding confusion from dead buttons.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 16:12:47 -05:00

22 lines
717 B
Python

from django.urls import path, include
from rest_framework import routers
from . import app_version, auth, config, gateway, user
router = routers.DefaultRouter(trailing_slash=False)
router.register("api/1/configs", config.ConfigViewSet)
router.register(
"api/1/versions", app_version.AppVersionViewSet, basename="app-versions"
)
urlpatterns = [
path("api/1/auth/logout", auth.LogoutView.as_view()),
path("api/1/auth/providers", auth.ProvidersView.as_view()),
path("api/1/user", user.UserViewSet.as_view({"get": "retrieve", "put": "update"})),
path(
"api/1/gateways/choose",
gateway.ChooseGatewayViewSet.as_view({"post": "retrieve"}),
),
path("", include(router.urls)),
]