Configurable integrations with 3RD party identity providers in a multi-tenant SaaS application

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2016-06-13
Department
Major/Subject
Ohjelmistotuotanto ja -liiketoiminta
Mcode
T3001
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
82 + 5
Series
Abstract
Integrations with 3rd party identity providers are usually required when introducing new software applications. This way the users can authenticate themselves using an existing identity avoiding the effort of creating a new identity for the application. These integrations are usually challenging per se, not to mention when combined with the challenges brought by a multi-tenant environment where all clients have their specific needs regarding authentication. The goal of this research was to find out how to support configurable integrations with 3rd party identity providers in a multi-tenant SaaS application. This research was conducted as an empirical study. First, the existing literature was studied in order to reveal the requirements for such system. Next step was to implement the system utilizing the requirements found. Finally, the system was evaluated from configurability and ease-of-use perspectives. The research indicates that it is possible to support configurable integrations with 3rd party identity providers in a multi-tenant SaaS application while preserving the scalability of the application. The literature review managed to reveal 14 different requirements for such system based on which the system was successfully implemented. The most important of these were the requirements for authenticating the users against 3rd party identity providers and supporting tenant specific configurations as a self-service. The evaluation indicated that these requirements were addressed even so that doing the necessary configurations was relatively easy. In addition, a common model for similar software designs was proposed based on the implemented system. The model separates the variables between the integrations with 3rd party identity providers, which helps to design a modular system architecture for similar integrations. Moreover, the model separates the application specific variables from the tenant specific variables, which is required to provide tenants the possibility to configure the tenant specific variables as self-service.

Ohjelmistosovellusten käyttöönoton helpottamiseksi vaaditaan usein integraatio kolmannen osapuolen identiteetin tarjoajiin. Tällä tavoin sovelluksen käyttäjät voivat tunnistautua olemassa olevalla identiteetillä ja täten vältytään uusien tunnusten luomiselta. Kyseiset integraatiot ovat usein haastavia jo itsessään, mutta asiaa hankaloittaa entisestään jaettu sovellusympäristö, jossa jokaisella asiakkaalla on omat yksilölliset tarpeensa tunnistautumiseen liittyen. Tässä työssä pyrittiin löytämään ratkaisu siihen, kuinka kolmannen osapuolen identiteetin tarjoajien voidaan tukea jaetussa sovellusympäristössä. Työ suoritettiin empiirisenä tutkimuksena. Aluksi perehdyttiin olemassa olevaan kirjallisuuteen, josta pyrittiin löytämään vaatimukset tällaiselle järjestelmälle. Tämän jälkeen toteutettiin itse järjestelmä löydettyjä vaatimuksia hyödyntäen. Lopuksi järjestelmää arviointiin konfiguroitavuuden ja helppokäyttöisyyden näkökulmista. Työ osoitti, että kolmannen osapuolen identiteetin tarjoajia on mahdollista tukea jaetussa sovellusympäristössä laiminlyömättä sovelluksen skaalautuvuutta. Kirjallisuuskatsauksesta löydettiin 14 eri vaatimusta tällaiselle järjestelmälle, joita hyväksikäyttäen järjestelmä onnistuttiin toteuttamaan. Näistä tärkeimpinä koettiin vaatimukset käyttäjien tunnistautumiseen kolmannen osapuolen identiteetin tarjoajia vasten sekä asiakkaiden mahdollisuus tehdä tähän liittyvät konfiguraatiot itsenäisesti. Järjestelmän arvioinnit osoittivat, että näihin vaatimuksiin pystyttiin vastaamaan vieläpä siten, että tarvittavien kofiguraatioiden tekeminen oli verrattain helppoa. Lisäksi toteutetun järjestelmän pohjalta onnistuttiin luomaan yleinen malli vastaaville integraatioille. Malli erottelee integraatioiden väliset muuttujat, jota voidaan hyödyntää suunniteltaessa vastaavan järjestelmän arkkitehtuuria. Tämän lisäksi malli erottelee sovelluskohtaiset muuttujat asiakaskohtaisista muuttujista, joka vaaditaan tarjottaessa asiakkaille mahdollisuus konfiguroida asiakaskohtaisia muuttujia itsenäisesti.
Description
Supervisor
Kauppinen, Marjo
Thesis advisor
Myllärniemi, Varvana
Nieminen, Jesse
Keywords
configurability, 3RD party identity provider, system integration, single sign-on, software-as-a-service, multi-tenancy
Other note
Citation