Repository logo
 
Publication

Authentication API - A SSO Authentication and Authorisation Infrastructure for Web

datacite.subject.fosInformáticapt_PT
dc.contributor.advisorSilva, Fábio André Souto da
dc.contributor.authorFernandes, José Pedro
dc.date.accessioned2025-01-16T11:27:26Z
dc.date.available2025-01-16T11:27:26Z
dc.date.issued2024
dc.date.submitted2024
dc.description.abstractModern web applications leverage various login techniques, such as Single Sign-On (SSO), passkeys, and password-less authentication, to enhance user experience. Many SSO solutions exist, that enable users to log in once and be authenticated across multiple applications. In this project a custom web authentication system, tailored to the specific needs of a corporate team, was developed. In this team, the lack of web-based authentication infrastructure inhibited the transition from desktop to web applications. The primary objective was to develop a SSO authentication system that not only supports human users but also provides authentication for processes running without a browser, such as automated scripts which will not use SSO but Windows authentication instead. By utilising JSON Web Tokens (JWTs) and refresh tokens, the solution ensures authentication and fast re-authentication, while a distributed cache enables scalability allowing multiple instances to run concurrently. As a result, an Application Programming Interface (API) called AuthenticationApi was developed alongside three internal connection libraries to simplify integration for both web applications and services. A management console was also created to manage the whitelisting of clients, being them web applications or technical processes. The API was rigorously tested, achieving 96.1% code coverage through unit and integration tests, and successfully deployed in two geographical locations, New York and Paris. Structured logs were implemented, offering insights into API performance and usage patterns. Currently, the API is being used in production and serves as a key infrastructure component for the team.pt_PT
dc.identifier.tid203803760pt_PT
dc.identifier.urihttp://hdl.handle.net/10400.22/27108
dc.language.isoengpt_PT
dc.subjectAuthenticationpt_PT
dc.subjectWebpt_PT
dc.subjectSingle Sign Onpt_PT
dc.subjectJSON Web Tokenspt_PT
dc.subjectPKCEpt_PT
dc.titleAuthentication API - A SSO Authentication and Authorisation Infrastructure for Webpt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameMestrado em Engenharia Informáticapt_PT

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
DM_JoséFernandes_MEI_2024.pdf
Size:
4.39 MB
Format:
Adobe Portable Document Format
Description:
DM_JoséFernandes_MEI_2024
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: