{"id":"c0129","filename":"c0129_genesis_connect_global_module.dok.json","weise3_id":"","tip":"implementacija","naziv":"genesis_connect — Globalni Genesis Auth Modul","kreator":"genesis","datum":"2026-05-08","snippet":"","status":"DONE","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"implementacija","naziv":"genesis_connect — Globalni Genesis Auth Modul","sto_treba":"Django app koji integrira Genesis Biometrijski Standard (GBS v1.0) na svim Fenix domenama. Zamjenjuje Google/Apple/GitHub login. Pruza /genesis/verify|link|status|logout/ endpointe, template tagove i JS widget.","redni_broj":"c0129","datum":"2026-05-08","commit":"d5848faa735579ac","status":"DONE","faze":[{"naziv":"genesis_connect Django app","status":"DONE","detalji":"13 fajlova: models, views, client, tasks, templatetags, urls, static, templates, migration"},{"naziv":"GenesisIdentityLink + GenesisSessionLog modeli","status":"DONE","detalji":"ZAKON 27 (weise3_id+bunker_seal_id+created_at), ZAKON 28 (cleanup task za expires_at), migration 0001 applied"},{"naziv":"GenesisVerifyView — cross-platform auth","status":"DONE","detalji":"csrf_exempt POST /genesis/verify/ — verifies token via genesis.limit-connect.com API, creates Django session, returns redirect by platform"},{"naziv":"genesis-widget.js — universal frontend","status":"DONE","detalji":"Auto platform detection (genesispos/sati.ink/digigraf/no-limit/memio), popup/inline/cashier modes, CSRF-aware, biometric auto-init iz localStorage"},{"naziv":"Template tagovi","status":"DONE","detalji":"{% genesis_login_button mode=popup|inline|cashier %}, {% genesis_script %}, {% genesis_linked %}"},{"naziv":"Nginx CORS fix za genesis-auth.js","status":"DONE","detalji":"Staticki serve iz /var/www/genesis/static/sdk/genesis-auth.js umjesto Next.js proxy. Potvrdjeno: Access-Control-Allow-Origin: * u curl response-u"},{"naziv":"Integracija u login stranice","status":"DONE","detalji":"accounts/login.html: {% genesis_login_button mode=popup %}, POS kasa.html: {% genesis_login_button mode=cashier %}"},{"naziv":"FINAFiscalizationService","status":"DONE","detalji":"pos/services/fiscalization.py — wrapper za pos.fiscal.factory.fiscalize(), rjesava ImportError u tasks.py"}],"platforme_za_integraciju":[{"platforma":"fenix-v3 (limit-connect.com)","status":"DONE","biljeska":"genesis_connect instaliran, login.html+kasa.html integrirani"},{"platforma":"sati.ink","status":"TODO","biljeska":"Standalone HTML widget ili zasebna /genesis/verify/ ruta"},{"platforma":"digigraf.online","status":"TODO","biljeska":"PWA — vanilla JS genesis-widget.js"},{"platforma":"no-limit.world","status":"TODO","biljeska":"Servira fenix-v3 na portu 8001, naslijedi integraciju"},{"platforma":"memio.*","status":"TODO","biljeska":"Zasebni Django projekti — potrebna instalacija genesis_connect"},{"platforma":"fina-connect.online","status":"TODO","biljeska":"Stari ERP — samo ako Ivan da nalog"}],"zakon":["ZAKON 1A (FENIX inovacije)","ZAKON 2 (Brsljani)","ZAKON 27 (Model Trinity)","ZAKON 28 (Ciscenje)","ZAKON 29 (Sigurnost)","ZAKON 32 (Chain entry za fix)"],"napomene":"sites-enabled/genesis-web bio je kopija (ne symlink) stare verzije — zato CORS nije radio. Kopirano u sites-enabled i nginx reloadan. Buducnost: ln -sf sites-available/genesis-web sites-enabled/genesis-web za sve nginx konfiguracije.","_opp_seal":"genesis_connect_GBS_v1_d5848fa_20260508"}}