Skip to content

Sistemul de Autentificare Emby

1. Arhitectura de Bază a Autentificării Emby

1.1 Componentele Sistemului de Autentificare

Emby folosește un sistem hibrid de autentificare cu următoarele componente:

  • Emby Server Authentication Engine - Motorul principal de autentificare
  • Local User Database - Baza de date locală cu utilizatori
  • Emby Connect Service - Serviciul global de autentificare
  • Token Management System - Sistemul de gestionare a token-urilor

2. Protocolul de Autentificare Emby

2.1 Autentificare Locală

Când un utilizator se autentifică local pe serverul Emby:

Scheme DeliveryScheme Mobile
json
POST /Users/AuthenticateByName
Content-Type: application/json
{
  "Username": "nume_utilizator",
  "Pw": "parola"
}

Serverul Emby procesează cererea:

  1. Verifică credențialele în baza de date locală
  2. Validează hash-ul parolei
  3. Generează un AccessToken unic
  4. Returnează detaliile utilizatorului și token-ul

2.2 Răspunsul de Autentificare

json
{
  "User": {
    "Id": "user_id",
    "Name": "nume_utilizator",
    "HasPassword": true,
    "HasConfiguredPassword": true
  },
  "SessionInfo": {
    "PlayState": {},
    "AdditionalUsers": [],
    "Capabilities": {}
  },
  "AccessToken": "access_token_string",
  "ServerId": "server_id"
}

3. Sistemul Emby Connect

3.1 Autentificare cu Emby Connect

Emby Connect permite autentificarea unică across multiple servers:

POST /Users/AuthenticateWithConnect

json
{
  "ConnectUsername": "email@example.com",
  "ConnectPassword": "parola_connect"
}

3.2 Linkarea Conturilor

Pentru a lega un cont local de Emby Connect:

POST /Users/{UserId}/Connect/Link

json
{
  "ConnectUsername": "email@example.com",
  "ConnectPassword": "parola_connect"
}

4. Managementul Token-urilor și Sesțiunilor

4.1 Structura Token-urilor Emby

Emby folosește token-uri de acces cu următoarele caracteristici:

  • Token-uri unice generate pentru fiecare sesiune
  • Valabilitate configurată în server settings
  • Asociate cu dispozitivul și aplicația client

4.2 Verificarea Token-urilor

Toate cererile autentificate folosesc header-ul:

X-Emby-Token: access_token_string

Serverul verifică token-ul la fiecare request:

  1. Validează semnătura token-ului
  2. Verifică expirarea
  3. Confirmă asocierea cu utilizatorul
  4. Verifică permisiunile

5. Securitatea în Emby

5.1 Storage-ul Parolelor

Emby folosește algoritmi moderni pentru parole:

  • Hash-uri securizate cu salt unic
  • Algoritmi PBKDF2 sau bcrypt
  • Policy de complexitate configurată

5.2 Protecție împotriva Atacurilor

  • Rate limiting pentru autentificări eșuate
  • Lockout temporar după multiple încercări
  • Validare input pentru prevenirea injection
  • Logging extensiv al activității de autentificare

6. Fluxurile de Autentificare

6.1 Autentificare Inițială

  1. Clientul trimite cerere de autentificare
  2. Serverul validează credențialele
  3. Generează token de acces
  4. Returnează datele sesiunii
  5. Clientul stochează token pentru cereri viitoare

6.2 Autentificare cu Emby Connect

  1. Clientul trimite credențiale Emby Connect
  2. Serverul validează cu serviciul Connect
  3. Caută utilizatorul local asociat
  4. Generează token pentru sesiunea locală
  5. Returnează acces la serverul local

7. API-urile Principale de Autentificare

7.1 Endpoint-uri Cheie

  • POST /Users/AuthenticateByName - Autentificare locală
  • POST /Users/AuthenticateWithConnect - Autentificare Connect
  • POST /Users/{UserId}/Connect/Link - Linkare cont
  • POST /Sessions/Logout - Închidere sesiune
  • GET /Users/{UserId} - Verificare sesiune

7.2 Header-uri de Autentificare

X-Emby-Authorization: MediaBrowser Client="ClientName", Device="DeviceName",DeviceId="device_id", Version="client_version" X-Emby-Token: access_token

8. Gestionarea Sesțiunilor

8.1 Tracking Sesțiuni Active

Emby ține evidența sesiunilor active cu:

  • Detalii despre dispozitiv
  • Timpul de autentificare
  • Ultima activitate
  • Starea de redare curentă

Acest sistem oferă o autentificare robustă și flexibilă pentru platforma Emby, suportând atât utilizatori locali cât și autentificarea globală prin Emby Connect.

© 2025 Popica Adelin. Toate drepturile rezervate.