806. Jakie są możliwości Autentykacji i Autoryzacji W Django/DRF?

    Django:
    
    1. Authentication (Uwierzytelnienie)
        a) BasicAuthentication, password-based Authentication - BRAK, POTRZEBA BY NP. DODAĆ CUSTOM MIDDLEWARE
        b) Login-Based Authentication (SessionAuthentication) - DOMYŚLNY MECHANIZM W DJANGO
        c) Remote User Authentication (Zdalne uwierzytelnianie)
        d) JWT Token-Based Authentication (JWT authentication token)
        e) OAuth2 Authentication
        f) Custom Authentication Backends (Własne backendy)
    
    2. Authorization  (Autoryzacja)
        a) login_required Decorator
        b) DjangoModelPermissions
        c) DjangoObjectPermissions (extends DjangoModelPermissions, additional lib needed like: django-guardian)
        d) Customized Role-Based Access Control (RBAC) solution
    
    DRF:
    
    1. Authentication
        a) BasicAuthentication, password-based Authentication
        b) Login-Based Authentication (SessionAuthentication)
        c) Token-Based Authentication (Simple version from DRF: TokenAuthentication)
        d) JWT Token-Based Authentication (JWT authentication token)
        e) OAuth2/OpenID Connect
    
    2. Authorization
        a) Django's login_required Decorator (dedicated for Session-based typical Frontend Web APP, no good for APIs)
        b) DRF builtin permission classes (AllowAny, IsAuthenticated, IsAdminUser, IsAuthenticatedOrReadOnly)
        c) DjangoModelPermissions
        d) DjangoObjectPermissions (extends DjangoModelPermissions, additional lib needed like: django-guardian)
        e) Customized Role-Based Access Control (RBAC) solution