Designing Kilpi, an authorization framework for web applications: Modeling and implementing an open source TypeScript framework

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.authorNevavuori, Jussi
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolSchool of Scienceen
dc.contributor.supervisorSuoranta, Sanna
dc.date.accessioned2025-12-17T18:07:38Z
dc.date.available2025-12-17T18:07:38Z
dc.date.issued2025-10-07
dc.description.abstractDesigning and implementing an authorization system for a web application is a difficult task, which poses major operational and security risks, if constructed incorrectly. Due to the wide variety of existing authorization models and complexity of requirements for an authorization system, implementing such a system can be a challenging task. There is a lack of comprehensive open source solutions for JavaScript and TypeScript applications for authorization, with most solutions being enterprise-oriented languages, proprietary paid third-party services or platform-specific solutions. This thesis introduces Kilpi, an open source TypeScript library for modeling and implementing authorization systems for web applications. This thesis discusses the goals, requirements and challenges of designing and implementing such a system, and evaluates the fully implemented and available Kilpi open source library against these requirements. The most important goals of Kilpi are developer friendliness and flexibility to suit most applications, use cases and authorization models. Additionally, Kilpi provides the flexible functional policy-based access control model based on defining policies as TypeScript functions. This thesis evaluates Kilpi against guidelines from literature as well as tested in multiple production applications and finds it to fulfill its goals well as a flexible authorization solution. Future development includes primarily only superficial improvements on usability.en
dc.description.abstractWeb-sovelluksen autorisaatiojärjestelmän suunnittelu ja toteuttaminen on haastavaa, ja virheellinen toteutus voi aiheuttaa merkittäviä turvallisuus- ja operatiivisia riskejä. Autorisaatiomallien moninaisuuden ja autorisaatiojärjestelmän vaatimusten monimutkaisuuden vuoksi järjestelmän toteuttaminen on vaativa tehtävä. JavaScript- ja TypeScript-sovelluksille ei ole kattavia avoimen lähdekoodin autorisaatioratkaisuja, ja useimmat olemassa olevat vaihtoehdot ovat suurille yrityksille suunnattuja kieliä, maksullisia kolmannen osapuolen palveluita tai alustakohtaisia ratkaisuja. Tämä työ esittelee Kilpi-nimisen avoimen lähdekoodin TypeScript-kirjaston, joka mahdollistaa autorisaatiojärjestelmien mallintamisen ja toteuttamisen websovelluksissa. Työssä käsitellään järjestelmän suunnittelun ja toteutuksen tavoitteita, vaatimuksia ja haasteita sekä arvioidaan valmista ja julkaistua Kilpi-kirjastoa näiden vaatimusten näkökulmasta. Kilpi-kirjaston tärkeimmät tavoitteet ovat kehittäjäystävällisyys ja joustavuus, jotta se soveltuu mahdollisimman useisiin sovelluksiin, käyttötapauksiin ja autorisaatiomalleihin. Lisäksi Kilpi esittelee joustavan funktionaalisen politiikkapohjaisen autorisaatiomallin, jossa käyttöoikeuksien linjaukset määritellään TypeScript-funktioina. Tässä työssä arvioidaan Kilpi-kirjastoa kirjallisuudesta löytyvien arviointiperusteiden pohjalta sekä integraation pohjalta useisiin tuotantosovelluksiin. Näillä perusteilla Kilpi todetaan täyttävän hyvin joustavan autorisaatioratkaisun tavoitteet. Tuleva kehitystyö keskittyy pääasiassa pinnallisiin käytettävyyden parannuksiin.fi
dc.format.extent83
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/141297
dc.identifier.urnURN:NBN:fi:aalto-202512179406
dc.language.isoenen
dc.programmeMaster's Programme in Computer, Communication and Information Sciencesen
dc.programmeMaster's Programme in Computer, Communication and Information Sciencesfi
dc.programmeMaster's Programme in Computer, Communication and Information Sciencessv
dc.programme.majorSoftware and Service Engineeringen
dc.subject.keywordauthorizationen
dc.subject.keywordaccess controlen
dc.subject.keywordTypeScripten
dc.subject.keywordopen sourceen
dc.subject.keywordweb applicationsen
dc.subject.keywordKilpien
dc.titleDesigning Kilpi, an authorization framework for web applications: Modeling and implementing an open source TypeScript frameworken
dc.titleKilpi–autorisaatiokehyksen suunnittelu web-sovelluksille: Avoimen lähdekoodin TypeScript-kehyksen mallintaminen ja toteuttaminenfi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
master_Nevavuori_Jussi_2025.pdf
Size:
828.33 KB
Format:
Adobe Portable Document Format