API-fiókok — rendszerleírás

A külső tárhely- és levelezőfiókok adatmodellje, a Google és Microsoft OAuth-folyamat, a szolgáltatás-fiók, a mappa-szinkron, a régi útvonal-alias, a jogok és az ismert korlátok.

Áttekintés

Külső tárhely- és levelezőfiókok törzse (Google OAuth, Google szolgáltatás-fiók, Microsoft 365): név, ügyfélazonosító és titkos kulcs, hitelesítő JSON, tenant, scope-ok, gyökérmappa. A régi masterdata/googleaccount útvonal ugyanezt az osztályt örökli változtatás nélkül; menüpontja nincs, a webgyökér OAuth-hídjai miatt maradt meg, és a jogellenőrzés rajta is az API-fiókok kulcsait nézi.

Adatmodell

A táblanevek a telepítés saját előtagjával állnak az adatbázisban.

TáblaSzerep
gdrive_accounta fiók: név, szolgáltató (ha az oszlop létezik), hitelesítés típusa, ügyfélazonosító, titkos kulcs, tenant, scope-ok, gyökérmappa, státusz, dátum
gdrive_tokena fiók OAuth-tokenje
gdrive_foldera szinkronizált Drive-mappák (a masterdata/googledrive modell írja)
filea feltöltött hitelesítő fájl nyilvántartása

Folyamat

  1. Lista: név, szolgáltató, hitelesítés típusa, státusz, dátum; soronként OAuth indítás és leállítás, szolgáltatás-fiók indítás, Microsoft engedélyező link, szerkesztés.
  2. Mentés: név 1–255 karakter, ügyfélazonosító kötelező; a form a Microsoft átirányítási címét is kiírja.
  3. Google OAuth: offline hozzáférés, drive, gmail.send, gmail.modify scope, a telepítésben rögzített átirányítási cím, CSRF-állapot a munkamenetben, átirányítás a Google engedélyező oldalára.
  4. Microsoft: a fiók tenantja és scope-jai (alapból offline_access Files.ReadWrite.All Mail.Read) alapján átirányítás a Microsoft engedélyező címére. A visszahívás a munkamenet CSRF-állapotát időzítés-biztos összehasonlítással egyezteti, a kódot tokenre cseréli, elmenti, és értesíti a nyitó ablakot.
  5. Kapcsolat frissítése: aktívra állítás; leállítás: inaktívra állítás és a token törlése.
  6. Szolgáltatás-fiók indítása: a hitelesítő JSON-nal Drive-kapcsolat, legfeljebb 100 mappa kilistázása, a fiók aktívra állítása.
  7. Hitelesítő fájl feltöltése: csak .json, a credential-mappába, létező fájlt nem ír felül; nyilvántartás a file táblában.
  8. Mappa-szinkron: a Drive-mappák listája a gdrive_folder táblába.
  9. Törlés: fizikai, hivatkozás-ellenőrzés nélkül.

Jogosultság

  • 1. réteg: lista és form a hozzáférési, minden módosító művelet (mentés, törlés, OAuth, szolgáltatás-fiók, feltöltés, szinkron) a módosítási jogot kéri.
  • 2. réteg: list (csak az újratöltésnél), add/edit a mentésen, delete, connect (OAuth indítás). A status kulcsot a vezérlő nem kérdezi.
  • 3. réteg: nincs.
  • A Microsoft visszahívás jogellenőrzés nélkül fut; védelme a munkamenetben tárolt CSRF-állapot.

Ismert korlátok

  • Az oldal első betöltése jog nélkül is kirendereli a listát; a funkciójogot csak az újratöltés nézi.
  • A fejléc törlés-gombja jog nélkül is látszik.
  • A törlés nem vizsgálja a tokeneket és a dokumentumok tárhely-hivatkozásait.
Kapcsolódó témák: API-fiók felhőtárhely jogosultság