Decidim - maglajz s validací osobních dokladů u hlasování k Iniciativě #1

Open
opened 2021-04-04 00:06:33 +02:00 by Podhorecky · 11 comments
Podhorecky commented 2021-04-04 00:06:33 +02:00 (Migrated from git.spotter.cz)

objevil jsem situaci které moc nerozumím, týká se ověření osobní identity a pak její využití v procesu přidání hlasu do Iniciativy.

  1. Uživatel je registrován a rozhodne se ve svém účtu ověřit svou identitu pomocí dokladů
  2. zvolí ve svém účtu typ dokladu, napíše číslo dokladu číslicemi a naskenuje doklad a odešle (zvolí pouze jednu možnost ze 3 nabízených variant dokumentů)
  3. admin může tento odeslaný doklad potvrdit tím, že uvidí sken dokladu a píše do pole číslo, které vidí
  4. tímto je uživatel ověřen a sken dokladu pravděpodobně smazán, systém někde nese informaci o vztahu čísla a uživatele
  5. na účtu uživatele se objeví že je podle dokladu ověřen a tohle už nemůže změnit.

Fajn. Nyní zanedbáme, že to můžeme udělat pro DIN, Občanku a cestovní pas. Zanedbáme i další metody ověření.

Přeskočíme do fáze, kdy uživatel založí iniciativu dokončí ji do fáze odeslání. Iniciativa je schválena adminem a publikována.
Akorát že teď jsem uživatel=admin, takže sám sobě schaluji iniciativu. Zjevně to de. Zanedbejme nějaké komplikace s vytvořením iniciativy, co se týče jejího setupu, nakonec jsem omezil možnosti a iniciativa prošla

Další fáze je, že k iniciativě se sbírají od dalších (ověřených) uživatelů hlasy. Cosi jako podpisy na podpisový arch.
To se děje kliknutím na tlačítko PODEPSAT u iniciativy a následuje dialog který vyzývá k ověření uživatele.
Formulář má pole:

  • Jméno Příjmení
  • číslo dokumentu (nespecifikováno jakého)
  • den
  • měsíc
  • rok
  • poštovní směrovycí číslo

Po vyplnění to údaje nesežere a tvrdí, že je nesprávné jméno. Jméno je Ok, ale těžko vědět co se mu nelíbí.
Je hlavě podezřelé že formulář vyžaduje datum den/měsíc/rok a PSČ, když není jasné odkud by ho bral. nikde jsem totiž explicitně při registraci tyto údaje nevyplňoval. Ledaže by to byl jen laciný filtr na "plnoletost" protože hlasovat by se mělo až od 16 let.

Psč teoreticky může být omezení na region v kterém se iniciativa děje, ale momentálně není v Decidim explicitně vyjádřeno, že město Ćeský krumlov má PSČ 38101 . To by musel Decidim zjišťovat nějakým Geocoderem.

Takže ověřit hlas mi nejde.

Teď nevim co to jako má bejt za verifikaci a odkud cucá tyhle požadavky. Už to vypadalo tak jasně a pochopitelně, ale ve finále do toho zas zabodli vidle. Nebo něco nechápu.

No.. takže zde jsem se dostal do fáze že uživatel (shodou okolností identický s adminem) je na počtku ověřen dokladem adminem. Pak může vyrobit Iniciativu, ta je publikována ale nemůže si k ní přidat vlastní hlas. Protože formulář nepotvrdí jeho ověření.

objevil jsem situaci které moc nerozumím, týká se ověření osobní identity a pak její využití v procesu přidání hlasu do Iniciativy. 1. Uživatel je registrován a rozhodne se ve svém účtu ověřit svou identitu pomocí dokladů 2. zvolí ve svém účtu typ dokladu, napíše číslo dokladu číslicemi a naskenuje doklad a odešle (zvolí pouze jednu možnost ze 3 nabízených variant dokumentů) 3. admin může tento odeslaný doklad potvrdit tím, že uvidí sken dokladu a píše do pole číslo, které vidí 4. tímto je uživatel ověřen a sken dokladu pravděpodobně smazán, systém někde nese informaci o vztahu čísla a uživatele 5. na účtu uživatele se objeví že je podle dokladu ověřen a tohle už nemůže změnit. Fajn. Nyní zanedbáme, že to můžeme udělat pro DIN, Občanku a cestovní pas. Zanedbáme i další metody ověření. Přeskočíme do fáze, kdy uživatel založí iniciativu dokončí ji do fáze odeslání. Iniciativa je schválena adminem a publikována. Akorát že teď jsem uživatel=admin, takže sám sobě schaluji iniciativu. Zjevně to de. Zanedbejme nějaké komplikace s vytvořením iniciativy, co se týče jejího setupu, nakonec jsem omezil možnosti a iniciativa prošla Další fáze je, že k iniciativě se sbírají od dalších (ověřených) uživatelů hlasy. Cosi jako podpisy na podpisový arch. To se děje kliknutím na tlačítko PODEPSAT u iniciativy a následuje dialog který vyzývá k ověření uživatele. Formulář má pole: - Jméno Příjmení - číslo dokumentu (nespecifikováno jakého) - den - měsíc - rok - poštovní směrovycí číslo Po vyplnění to údaje nesežere a tvrdí, že je nesprávné jméno. Jméno je Ok, ale těžko vědět co se mu nelíbí. Je hlavě podezřelé že formulář vyžaduje datum **den/měsíc/rok** a **PSČ**, když není jasné odkud by ho bral. nikde jsem totiž explicitně při registraci tyto údaje nevyplňoval. Ledaže by to byl jen laciný filtr na "plnoletost" protože hlasovat by se mělo až od 16 let. Psč teoreticky může být omezení na region v kterém se iniciativa děje, ale momentálně není v Decidim explicitně vyjádřeno, že město Ćeský krumlov má PSČ 38101 . To by musel Decidim zjišťovat nějakým Geocoderem. Takže ověřit hlas mi nejde. Teď nevim co to jako má bejt za verifikaci a odkud cucá tyhle požadavky. Už to vypadalo tak jasně a pochopitelně, ale ve finále do toho zas zabodli vidle. Nebo něco nechápu. No.. takže zde jsem se dostal do fáze že uživatel (shodou okolností identický s adminem) je na počtku ověřen dokladem adminem. Pak může vyrobit Iniciativu, ta je publikována ale nemůže si k ní přidat vlastní hlas. Protože formulář nepotvrdí jeho ověření.
Podhorecky commented 2021-04-04 01:43:47 +02:00 (Migrated from git.spotter.cz)

changed the description

changed the description
Podhorecky commented 2021-04-04 12:22:57 +02:00 (Migrated from git.spotter.cz)

Hm, ono to má svoje příčiny v tom, jak strojový překlad nesrozumitelně přeložil popisky zaškrtátek v settingu, dále jak je settingový formulář poněkud neintuitivní a umožňuje nastavení kombinací, které jdou nastavit, ale nedávají dohromady smysl. Prostě formulář není vypodmínkovaný.

Ŕešením bude obezřetné otestování kombinace vyžadovaných parametrů

Hm, ono to má svoje příčiny v tom, jak strojový překlad nesrozumitelně přeložil popisky zaškrtátek v settingu, dále jak je settingový formulář poněkud neintuitivní a umožňuje nastavení kombinací, které jdou nastavit, ale nedávají dohromady smysl. Prostě formulář není vypodmínkovaný. Ŕešením bude obezřetné otestování kombinace vyžadovaných parametrů
Podhorecky commented 2021-04-09 01:43:42 +02:00 (Migrated from git.spotter.cz)

Ok... iniciativy jsou lahodný záser. Přestože jsem registrován více uživateli, ti jsou ověření, tak vzniklá iniciativa neumožňuje podepsat. Vzniká oznamující okno, že nelze podepsat.

Na této straně je podrobný návod postupu, ale některé obrazovkové postupy jsou tam trochu jiné a nakonec bohužel koncové podepsání nejde.
Mam trochu podezření na absenci té SMS validace, ale to je vlastnost, která by neměla kolidovat u podpisu.
Druhé podezření je u PDF signature, které pravděpodobně má generovat nějaké unikátní hash řetězce a ty pak tisknout na PDF podpisového archu.
To taky nejde. Co kde nedělá jak má, nevim jak zjistit

Ok... iniciativy jsou lahodný záser. Přestože jsem registrován více uživateli, ti jsou ověření, tak vzniklá iniciativa neumožňuje podepsat. Vzniká oznamující okno, že nelze podepsat. [Na této straně](https://docs.decidim.org/en/admin/initiatives/) je podrobný návod postupu, ale některé obrazovkové postupy jsou tam trochu jiné a nakonec bohužel koncové podepsání nejde. Mam trochu podezření na absenci té **SMS validace**, ale to je vlastnost, která by neměla kolidovat u podpisu. Druhé podezření je u **PDF signature**, které pravděpodobně má generovat nějaké unikátní hash řetězce a ty pak tisknout na PDF podpisového archu. To taky nejde. Co kde nedělá jak má, nevim jak zjistit
Podhorecky commented 2021-04-11 12:25:50 +02:00 (Migrated from git.spotter.cz)
moved from Podhorecky/Hosting#57
Podhorecky commented 2021-04-13 21:16:05 +02:00 (Migrated from git.spotter.cz)

@Disassembler už je update nové verze, ale myslim že to v případě havárií Iniciativ není řešením. Teď prostě nevím jak překonat, že setupování iniciativ vyrábí havárie serveru. To je věc odhalení nějakých hlubších příčin. Možná že o tom vývojáři vědí, ale nenašel jsem to. Zároveň se to děje na webu kde mám data. Když jsme zjistili že hlasovat na čistém Decidimu sice jde, ale havárie nezmizely, tak teď nevím co s daty. Potřeboval bych s tím dál pracovat, ale obávám se že moje práce bude zbytečná, protože dokud to nebude opravené, netroufám si to ani nikomu ukazovat.

Přeinstalovat načisto by znamenalo nějak přenést co jsem tam naházel. Trápí mě to, že se mi nedaří dotáhnout do konce alespoň tohle.

(jo. a bude to všude stejné. Např. Citizen OS je jednodušší hlasovadlo které vyrábí Estonci, takže tam je zase ověřování estonskými autoritami a jejich eGovernmentem. Prostě neexistuje přímočará cesta nikde)

@Disassembler už je update nové verze, ale myslim že to v případě havárií Iniciativ není řešením. Teď prostě nevím jak překonat, že setupování iniciativ vyrábí havárie serveru. To je věc odhalení nějakých hlubších příčin. Možná že o tom vývojáři vědí, ale nenašel jsem to. Zároveň se to děje na webu kde mám data. Když jsme zjistili že hlasovat na čistém Decidimu sice jde, ale havárie nezmizely, tak teď nevím co s daty. Potřeboval bych s tím dál pracovat, ale obávám se že moje práce bude zbytečná, protože dokud to nebude opravené, netroufám si to ani nikomu ukazovat. Přeinstalovat načisto by znamenalo nějak přenést co jsem tam naházel. Trápí mě to, že se mi nedaří dotáhnout do konce alespoň tohle. (jo. a bude to všude stejné. Např. [Citizen OS](https://git.spotter.cz/Podhorecky/Spotter-Media/-/issues/41) je jednodušší hlasovadlo které vyrábí Estonci, takže tam je zase ověřování estonskými autoritami a jejich eGovernmentem. Prostě neexistuje přímočará cesta nikde)
Disassembler commented 2021-04-13 22:38:37 +02:00 (Migrated from git.spotter.cz)

formulář vyžaduje datum den/měsíc/rok a PSČ

To ale nevyžaduje k ověření, alespoň ne k tomu, které dělá Decidim. To jsou jen nějaká druhotná data, která se sbírají společně s podpisem. Decidim ověřuje podle jména a čísla dokladu, které zůstává uloženo v databázi, ale admin jej po potvrzení už nemůže znovu zobrazit.

už je update nové verze, ale myslim že to v případě havárií Iniciativ není řešením

Ty iniciativy jsou docela nové a pořád ve vývoji. Teoreticky by to nakonec být řešením mohlo, protože třeba ten poslední fix, který se dostal do 0.24.1 se zpět do 0.23.x backportovat neobtěžovali. Nicméně můžeme začít zhusta reportovat, akorát teda ke každému reportu bude potřeba reproducer... a vzhledem k tomu, co všechno je rozbité, jich bude potřeba nejspíš celkem dost. Začneme ale nejdřív tím, že tu Vaši instanci dáme nějak dohromady (o čemž jste se zmiňoval už i v jiném issue)

> formulář vyžaduje datum **den/měsíc/rok** a **PSČ** To ale nevyžaduje k ověření, alespoň ne k tomu, které dělá Decidim. To jsou jen nějaká druhotná data, která se sbírají společně s podpisem. Decidim ověřuje podle jména a čísla dokladu, které zůstává uloženo v databázi, ale admin jej po potvrzení už nemůže znovu zobrazit. > už je update nové verze, ale myslim že to v případě havárií Iniciativ není řešením Ty iniciativy jsou docela nové a pořád ve vývoji. Teoreticky by to nakonec být řešením mohlo, protože třeba ten poslední fix, který se dostal do 0.24.1 se zpět do 0.23.x backportovat neobtěžovali. Nicméně můžeme začít zhusta reportovat, akorát teda ke každému reportu bude potřeba reproducer... a vzhledem k tomu, co všechno je rozbité, jich bude potřeba nejspíš celkem dost. Začneme ale nejdřív tím, že tu Vaši instanci dáme nějak dohromady (o čemž jste se zmiňoval už i v jiném issue)
Disassembler commented 2021-04-13 23:00:40 +02:00 (Migrated from git.spotter.cz)

Ještě si sem připlácnu to

Výstřižek

Zatím jsem vykoukal, že je to způsobeno podivným dotazem do databáze, který se dotazuje na uživatele, ale má nesmyslné podmínky. Např pokud má uživatel Spotter ID 2, dotaz se ptá "Vyber uživatele se jmeném Spotter a ID jiným než 2", což zákonitě nenajde nic a framework pak zakňučí tu chybu 422 unprocessable entity, která se nakonec projeví hláškou výše.

Šťourám dál.

Ještě si sem připlácnu to ![Výstřižek](/uploads/ab9a5068f9b2ed36be9cb0553a0d69d7/Výstřižek.PNG) Zatím jsem vykoukal, že je to způsobeno podivným dotazem do databáze, který se dotazuje na uživatele, ale má nesmyslné podmínky. Např pokud má uživatel Spotter ID 2, dotaz se ptá "_Vyber uživatele se jmeném Spotter a ID jiným než 2_", což zákonitě nenajde nic a framework pak zakňučí tu chybu 422 unprocessable entity, která se nakonec projeví hláškou výše. Šťourám dál.
Podhorecky commented 2021-04-18 19:26:59 +02:00 (Migrated from git.spotter.cz)

ohledně vzžadovaných den měsíc rok - ano, je to tak, toto ověření je jaksi hloupý filtr na věk. PSČ nevim přesně jak by s tim nakládal.

Nicméně můžeme začít zhusta reportovat, akorát teda ke každému reportu bude potřeba reproducer... a vzhledem k tomu, co všechno je rozbité, jich bude potřeba nejspíš celkem dost. Začneme ale nejdřív tím, že tu Vaši instanci dáme nějak dohromady (o čemž jste se zmiňoval už i v jiném issue)

ANo, souhlas. Řekněme, že v tuto chvíli máme pozorovanou chybu se setupem Iniciativ. Pokud mam ještě jiné chyby, pak jsou takové "možná jsem něco nenastavil, ale nevim co"

Nyní jsem například nastavil sekci "Konference" ... Když tam neni doplněn obsah schůyek, tak se dá vzrobit "Chyba serveru" Když jsem to doplnil, tak už to vzpadá jako stabilní, posílá to pozvánky do mailů a zatim to nehavaruje.

POkud tedy vznikne nový update v naší instanci na VM, tak si starou smažu a na nové to zas celé vyzkoušim.

ohledně vzžadovaných den měsíc rok - ano, je to tak, toto ověření je jaksi hloupý filtr na věk. PSČ nevim přesně jak by s tim nakládal. > Nicméně můžeme začít zhusta reportovat, akorát teda ke každému reportu bude potřeba reproducer... a vzhledem k tomu, co všechno je rozbité, jich bude potřeba nejspíš celkem dost. Začneme ale nejdřív tím, že tu Vaši instanci dáme nějak dohromady (o čemž jste se zmiňoval už i v jiném issue) ANo, souhlas. Řekněme, že v tuto chvíli máme pozorovanou chybu se setupem Iniciativ. Pokud mam ještě jiné chyby, pak jsou takové "možná jsem něco nenastavil, ale nevim co" Nyní jsem například nastavil sekci "Konference" ... Když tam neni doplněn obsah schůyek, tak se dá vzrobit "Chyba serveru" Když jsem to doplnil, tak už to vzpadá jako stabilní, posílá to pozvánky do mailů a zatim to nehavaruje. POkud tedy vznikne nový update v naší instanci na VM, tak si starou smažu a na nové to zas celé vyzkoušim.
Podhorecky commented 2021-04-25 15:01:23 +02:00 (Migrated from git.spotter.cz)

aktualizoval jsem na VM do verze 0.23.5 a znova zkusil vytvořit iniciativy.

Při co nejmenším setupu iniciativy lze vyrobit a zahlasovat.

Při zaškrtnutí omezení oblastí je zde zjevný problém a formulář se chová tak, že i při předvolené oblasti pak nenabídne tuto oblast k výběru a tudíž nelze formulář úspěšně dokončit.

V situaci, kdy lze formulář s méně komplexním nastavením dokončit ale nejde dosáhnout validace hlasujícího. Vyplňoval jsem více variant ověřujících údajů, pořád to ukazovalo že mám špatně zadané Jméno Příjmení

Takže zkušenost s problémem jsem z uživatelského pohledu trochu upřesnil, ale stále nemohu vědět v jakém místě chyba vzniká... může to být jak chyba návrhu formuláře, tak chyba logiky ověření, tak chyba technická... nějaký bug.

aktualizoval jsem na VM do verze 0.23.5 a znova zkusil vytvořit iniciativy. Při co nejmenším setupu iniciativy lze vyrobit a zahlasovat. Při zaškrtnutí omezení oblastí je zde zjevný problém a formulář se chová tak, že i při předvolené oblasti pak nenabídne tuto oblast k výběru a tudíž nelze formulář úspěšně dokončit. V situaci, kdy lze formulář s méně komplexním nastavením dokončit ale nejde dosáhnout validace hlasujícího. Vyplňoval jsem více variant ověřujících údajů, pořád to ukazovalo že mám špatně zadané Jméno Příjmení Takže zkušenost s problémem jsem z uživatelského pohledu trochu upřesnil, ale stále nemohu vědět v jakém místě chyba vzniká... může to být jak chyba návrhu formuláře, tak chyba logiky ověření, tak chyba technická... nějaký bug.
Podhorecky commented 2021-04-25 23:45:11 +02:00 (Migrated from git.spotter.cz)

pro zajímavost: Meta-decidim jede na verzi 0.24.1 (bez dalších pluginů pochopitelně) a na site nemají v hlavním menu iniciativy. Když ale zadám adresu https://meta.decidim.org/initiatives tak se iniciativy objeví. Na první pohled asi stejné, bohužel nemam šanci ověřit že vše funguje až do fáze hlasování.

Přinejmenším jim jde tisknout iniciativy na PDf v angličtině nebo jiném nastaveném jazyce. a to rovnou z rozhraní, nejen z backendu.

pro zajímavost: [Meta-decidim](https://meta.decidim.org) jede na verzi 0.24.1 (bez dalších pluginů pochopitelně) a na site nemají v hlavním menu iniciativy. Když ale zadám adresu https://meta.decidim.org/initiatives tak se iniciativy objeví. Na první pohled asi stejné, bohužel nemam šanci ověřit že vše funguje až do fáze hlasování. Přinejmenším jim jde tisknout iniciativy na PDf v angličtině nebo jiném nastaveném jazyce. a to rovnou z rozhraní, nejen z backendu.
Podhorecky commented 2021-07-10 10:19:29 +02:00 (Migrated from git.spotter.cz)

tady je nějaký fix něčeho, ale nejsem si jist jestli to přímo souvisí. ab2b342a06

tady je nějaký fix něčeho, ale nejsem si jist jestli to přímo souvisí. https://github.com/decidim/decidim/commit/ab2b342a0643fd7b3a5cfe15d999295f8b46a091
Sign in to join this conversation.
No description provided.