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ábla | Szerep |
|---|---|
gdrive_account | a 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_token | a fiók OAuth-tokenje |
gdrive_folder | a szinkronizált Drive-mappák (a masterdata/googledrive modell írja) |
file | a feltöltött hitelesítő fájl nyilvántartása |
Folyamat
- 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.
- 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.
- Google OAuth: offline hozzáférés,
drive,gmail.send,gmail.modifyscope, 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. - 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. - Kapcsolat frissítése: aktívra állítás; leállítás: inaktívra állítás és a token törlése.
- 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.
- Hitelesítő fájl feltöltése: csak
.json, a credential-mappába, létező fájlt nem ír felül; nyilvántartás afiletáblában. - Mappa-szinkron: a Drive-mappák listája a
gdrive_foldertáblába. - 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/edita mentésen,delete,connect(OAuth indítás). Astatuskulcsot 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.