Makkelijker aansluiten op SURFconext voor leveranciers met OpenID Connect

Met SURFconext biedt SURFnet het Nederlandse onderwijs en onderzoek een betrouwbare infrastructuur voor eenvoudige en veilige toegang tot een breed scala aan clouddiensten. Vanaf midden 2017 kunnen dienstaanbieders kiezen hoe ze willen aansluiten op het SURFconext-platform. Het SAML-protocol is sinds de introductie van SURFconext een bewezen manier om federatief in te loggen, daar komt de relatief nieuwe standaard, OpenID Connect (OIDC) nu bij. Het technisch aansluiten met OIDC is eenvoudiger in vergelijking met SAML, waardoor de drempel voor leveranciers om aan te sluiten op SURFconext wordt verlaagd. Hiermee wil SURFnet zorgen dat er uiteindelijk meer diensten via SURFconext beschikbaar zullen zijn.

Open ID Connect

De open standaard OpenID Connect bestaat nog maar sinds 2014, maar wordt al gebruikt door grote bedrijven als Google, Microsoft en Salesforce. Ook voor het onderwijs en onderzoek is dit nieuwe protocol interessant. Met OIDC zijn meer implementaties beschikbaar voor meer programmeertalen dan met SAML2. Dat betekent dat je makkelijk een bestaand stuk code kunt integreren in eigen applicaties. Hierdoor is minder implementatiewerk nodig. De technische aansluiting verloopt ook eenvoudiger: in plaats van het uitwisselen van metadata is het voldoende voor een dienstaanbieder eenmalig bij het SURFconext-platform te registreren. Dit maak aansluiten een stuk eenvoudiger en sneller.

Nog een voordeel voor dienstaanbieders

Het SAML-protocol is uitermate geschikt voor webapplicaties, maar minder voor mobiele apps. Daarom ontwikkelde SURFnet een software development kit (SDK) voor mobiele apps, op basis van OAuth. Maar, naast SAML moet een dienstaanbieder dus ook OAuth ondersteunen. Met OpenID Connect, dat overigens gebaseerd is op OAuth, hoeft de dienstaanbieder slechts één protocol te implementeren, zowel voor toegang via een webbrowser als via een mobiele app.

Voordeel voor instellingen

Waar zit het voordeel voor de instellingen? We willen elke docent, onderzoeker, student en medewerker via SURFconext toegang kunnen bieden tot de diensten die hij nodig heeft. Doordat er meer standaard implementaties beschikbaar zijn en de combinatie met mobiele apps eenvoudiger te realiseren is, verwachten we dat meer leveranciers hun diensten met SURFconext zullen integreren. Ons doel is om de drempel om op SURFconext aan te sluiten zo laag mogelijk te maken.

Doorontwikkeling OpenID Connect

De OIDC-standaard biedt mogelijkheden voor inloggen, maar in de standaard is nog geen rekening gehouden met federaties zoals we die in het onderwijs en onderzoek hebben. Je kan OIDC prima gebruiken om bijvoorbeeld met behulp van je Google-account toegang te krijgen tot diensten van derden. In dat geval is er sprake van één Identity Provider, namelijk Google. SURFconext heeft echter te maken met gebruikers van 170 instellingen, dus 170 verschillende Identity Providers. Om de gebruiker zijn eigen instelling te laten kiezen bestaat in de SAML-standaard het Discovery Protocol. Een gebruiker moet op de zogenaamde ‘Where Are You From’ pagina zijn instelling kiezen. Na een authenticatie bij zijn eigen instelling komt hij vervolgens terug bij SURFconext, dat hem doorstuurt naar de dienst die hij wil gebruiken. In de OIDC-standaard ontbreekt dit Discovery Protocol. Hier wordt nog aan gewerkt en SURFnet is nauw betrokken bij deze ontwikkelingen.

SURFconext en OpenID Connect

Hoe werkt OpenID Connect in SURFconext? SURFconext wordt uitgebreid met een SAML-naar-OIDC-proxy. Een Service Provider (ook wel Relying Party genoemd in OIDC-terminologie) koppelt rechtstreeks met dit onderdeel. Dit component maakt vervolgens een vertaling van OIDC-berichten naar SAML en omgekeerd. Als een eindgebruiker inlogt, verloopt het authenticatieproces niet anders dan bij SAML Service Providers. De eindgebruiker merkt niet dat hij via een iets andere route toegang krijgt tot de dienst. Voor de aangesloten instellingen verandert er niets.

Schema van Open ID Connect en SAML

Aansluiten

Sta je nu op het punt een dienst SURFconext-ready te maken? Bekijk de aansluitdocumentatie voor het aansluiten via OIDC en neem contact op met support@surfconext.nl.

Auteur

Reacties

Dit artikel heeft 0 reacties