Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Maksym Koval
Acad. year: 2023/2024
Supervisor: doc. Mgr. Kamil Malinka, Ph.D.
Reviewer: Ing. Jiří Pavela
This thesis delves into the principles of OAuth 2.0 and OpenID Connect protocols and explains how they should be implemented in a microservice architecture. Two Angular web clients and two Spring Boot servers were developed as applications for the demonstration. The paper also explains how to use Keycloak as an identity provider for the above applications. The result is centralized authentication of all applications as well as implementation of Single Sign On mechanism in a cloud-native environment.
OAuth 1.0, OAuth 2.0, OpenID Connect, Keycloak, Single sign-on, Angular, Spring Boot, Access Token, ID Token, Authorization, Authentication, Identity
Date of defence
12.06.2024
Result of the defence
Defended (thesis was successfully defended)
Grading
E
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm E.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. Ondřej Ryšavý, Ph.D. (předseda) Ing. Tomáš Milet, Ph.D. (člen) Ing. Josef Strnadel, Ph.D. (člen) Ing. Matěj Grégr, Ph.D. (člen) Ing. Filip Orság, Ph.D. (člen)
Supervisor’s reportdoc. Mgr. Kamil Malinka, Ph.D.
Přes extrémní spěšnost vznikla ve výsledku poměrně solidní práce, která naplňuje parametry kladené na bakalářskou práci. Nicméně z výše uvedených důvodů ji nemohu hodnotit lépe než "E".
Jedná se průměrně obtížnou implementační práci. Jejím cílem bylo nastudovat technologie Keycloak, OpenID Connect a OAuth2 a vytvořit demonstrační aplikaci, které ukáže jak je správně integrovat. Součástí zadání bylo i testování a shrnutí získaných poznatků do formy best practices. Všechny body zadání byly splněny.
Práce obsahuje spíše menší množství zdrojů, kde převažují technické online zdroje. Nicméně to odpovídá implementačnímu zaměření práce.
Systému Theses.cz uvádí podobnost 26%. Významná část však tvoří podobnosti s technickou dokumentací a popisem technologií v teoretických částech práce, kde jsou zdroje odkazovány. Některé části jsou hůře parafrázovány, nicméně cílem práce nebylo převykládat technickou dokumentaci, ale ukázat, jak s technologií pracovat, a to bylo splněno. Přes mé výtky si tak nemyslím, že by autor překročil hranice citační etiky.
Student na práci se stejným zadáním pracoval pod mým vedením již minulý rok. Po půl roce aktivity se však odmlčel a práci neodevzdal. Následně se ozval až o rok později, tedy cca 4 týdny před deadlinem. Předtím neproběhla žádná komunikace, student ani neměl zajištěné opětovné vypsání tématu. Z důvodu hotových částí z minulého roku, kdy byl student aktivní a zpracoval teoretický základ a naučil se požadované technologie, jsem studentovi téma vypsal s požadavky na extrémní intenzitu očekávané práce. Student poté poctivě každý týden reportoval průběh prací, které měli velmi solidní progres a měl jsem tak určitou možnost výsledek ovlivnit a komentovat.
viz přechozí část.
žádná
Grade proposed by supervisor: E
Reviewer’s reportIng. Jiří Pavela
Jedná se o průměrně dobře vyhotovenou práci, která splňuje všechny body zadání. Zadání jako takové působí mírně podprůměrně obtížně z hlediska implementace; bylo však zapotřebí nastudovat bezpečnostní mechanismy technologií Keycloak a OpenID Connect/OAuth2. Až na drobné nedostatky v některých aspektech prezentační úrovně technické zprávy nemám k práci větších výhrad. Navrhuji proto hodnocení práce stupněm C.
Evaluation level: průměrně obtížné zadání
Jedná se o mírně podprůměrně obtížné zadnání práce.
Logická návaznost jednotlivých kapitol a sekcí je v pořádku. Měl bych však drobné výtky k rozsahu některých kapitol nebo sekcí, které často obsahují pouze jeden krátký odstavec textu (např. sekce 3.8 až 3.13). Stejně tak mi přišla obsahově velmi stručná celá kapitola 4. V kapitolách 8 a 9 se vyskytují krátké subjektivní netechnické sekce, které by se neměly v práci technického charakteru vyskytovat.
Typograficky se jedná o průměrně dobrou práci, ve které se vyskytuje několik typografických chyb, jako např. předčasné zalomení některých stránek nebo chybějící popisky u úseků kódu. Práce je psána v anglickém jazyce a až na ojedinělé drobné chyby je jazyková úroveň nadprůměrně dobrá.
Realizační výstup práce splňuje všechny požadavky zadání a úspěšně demonstruje integraci nástroje Keycloak s OpenID Connect/OAuth2. Vyhodnocení kvality realizačního výstupu a testování jsou pojaty velmi stručně.
Výsledná práce je prakticky použitelná jako součást báze znalostí, případně návodu jak správně integrovat Keycloak s OpenID Connect/OAuth2.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Práce obsahuje celkem 21 literárních pramenů, mezi kterými se vyskytují z větší části dokumentace nebo RFC k jednotlivým technologiím.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová