skaut / skautis-integration

WordPress plugin pro možnost přihlašování a registrace do WordPressu přes skautIS
https://cs.wordpress.org/plugins/skautis-integration/
GNU General Public License v3.0
3 stars 5 forks source link

Kontrola nastavení APP ID #33

Closed kalich5 closed 7 years ago

kalich5 commented 7 years ago

Plugin by po zadání APP ID a kliknutí na uložit zkontroloval, jestli jsou všechny potřebné služby u toho APP ID povolené.

Bylo možné rovnou ověřit, zda je dané APP ID správně nastaveno (načíst seznam oprávnění dané aplikace a porovnat jej s interním seznamem, co musí dané APP ID povolovat) a opět informovat uživatele, pokud to není v pořádku.

Na stránce, kde se zadávají APP ID by byla dole sekce pojmenovaná třeba "skautIS oprávnění" Tam by byl seznam všech oprávnění, které daná verze pluginu používá. Napravo od nich by svítili popis podle toho jestli je ta služba povolená

Moduly, které by neměly pro svojí funkčnost všechny služby by měly v nastavení modulů šedé zaškrtávací políčko a nešly by aktivovat.

A například v případě načítání členů pro účely propojení by se to vůbec nemělo zobrazovat. Aby to uživatelům neházelo chyby.

sinacek commented 7 years ago

Nevím jestli je reálné aby měl každý přístup ke čtení všech nastavení aplikací...

kalich5 commented 7 years ago

Ale my nechceme načítat všechny, ale jen to jak je nastavené to konkrétní APP ID. Takže ta služba bude povolená jen třeba u WordPress aplikací a časem i dalších které to budou podporovat

davidulus commented 7 years ago

V tuto chvíli ověřujeme jen, zda je APP ID platné pro daný web. Hodila by se i kontrola, zda má v pořádku nastavená oprávnění. @sinacek Předpokládám, že se to dělá přes ApplicationManagement -> ApplicationOperationAll, ale nedaří se mi to rozchodit ani v testovacím rozhraní na https://ws.skautis.cz/testovani Možná tam jen posílám špatné parametry, nevím, zkoušel jsem různé kombinace. Lze povolit funkci ApplicationOperationAll jen pro ID dané aplikace nebo má automaticky přístup ke všem => dá se tam poslat jakékoliv ID aplikace?

sinacek commented 7 years ago

Nevím jestli tento baliček služeb není celkově omezen, aby nešel volat zvenku. Nikdy dříve jsem ho nepoužíval.

jerrysohn commented 7 years ago

Načíst seznam povolených WS funkcí mimo skautIS nejde. Je to záměr - nechceme, aby funkce týkající se oprávnění aplikací a jejich nastavování bylo dostupné kdekoli mimo skautIS. Takže je v pořádku, že ti snaha o volání ApplicatinManagement -> ApplicationOperationAll vrací chybu.

Pokud byste ve Wordpress pluginu chtěli ověřovat, jestli má plugin ve skautISu vše povoleno, je možné ověřit platnost AppID - což už @davidulus jak píše dělá. Ověření jednotlivých funkcí by muselo probíhat jedině jejich zavoláním a ověřením, zda vrací chybu nebo proběhne daná funkce v pořádku. Ale nevím, zda to není zbytečné.

Spíše na straně skautISu zvažuji, že uděláme úpravu pro nás administrátory skautISu (ještě to bude konzultovat s programátory a @sinacek i Mývalem), kde budeme mít definované celé sady oprávnění pro aplikace, takže rovnou uvidíme, že daný web má např. povoleny všechny funkce, které jsou potřeba pro "plugin WP skautIS integration ver. 1.1" apod. A budeme tedy při registraci App ID danému webu rovnou povolovat celou sadu funkcí, takže by neměl být důvod, aby nějaký web neměl nějakou WS funkci povolenou a přitom měl přidělené AppID.

Každopádně podle mě stačí, pokud plugin kotroluje platnost a funkčnost toho AppID. A pokud byste chtěli ověřovat jednotlivé WS funkce, muselo by to být ověření na základě pokusu o zavolání dané funkce (a jestli vrátí chybu - neoprávněného volání nebo ne).

davidulus commented 7 years ago

@jerrysohn Díky za vyjádření. Volání jednotlivých funkcí mi také přijde zbytečné - nechme to tedy být. To groupování oprávnění není špatné a určitě se tím do budoucna vyhneme chybám v nastavení. Je do budoucna reálné např. nějaké API na straně skautISu, které by umožňovalo pro weby hostované na lebedě získat APP ID automaticky? V administraci WordPressu by se kliklo na tlačítko, to na pozadí zpracuje dotaz, který aplikaci zaregistruje i s předdefinovanou sadou oprávnění a vrátilo by APP ID, které by se v administraci uložilo.

jerrysohn commented 7 years ago

@davidulus @sinacek Do budoucna by samozřejmě technicky bylo možné povolit API (webové služby) pro registraci AppID a oprávnění i přímo z Lebedy. Ale nerad bych uvolnil možnosti přístupu k těm systémových funkcím příliš. Takže teď bych se spíš zkusil soustředit na to zlepšení nastavení oprávnění aplikacím (po skupinách) ve skautISu. A až v budoucnu bychom se mohli bavit o tom, jaké reálné využití (v jakém množství a s jakým dopadem) by případně mělo nějaké další automatizování. Teď si nejsem jist, že to má smysl programovat.