Af Mikkel Hald, 18/01/23
Siden WAYFs begyndelse har SAML været enerådende som teknisk protokol for overførsel af logins fra brugerorganisationer til tjenester i føderationen. Men nu har vi udviklet understøttelse for at en tjeneste alternativt kan tilsluttes WAYF via protokollen OpenID Connect ("OIDC").
OIDC er i de senere år blevet en populær teknologi i integrationer hvor man godt kunne have brugt SAML – formentlig fordi den bruger et enklere format (JSON frem for XML) og bygger oven på den meget udbredte autorisationsprotokol OAuth2. Stadig flere udbydere forventes derfor at ville efterspørge mulighed for at forbinde tjenester med WAYFs brugerorganisationer via OIDC.
I modsætning til SAML er OIDC imidlertid ikke nogen egentlig føderationsprotokol – dvs. en udbyder kan inden for rammerne af OIDC ikke uden videre få logins til sin tjeneste fra mere end en enkelt brugerorganisation. Derfor bruges OIDC i dag mest i integrationer hvor kun en enkelt organisations brugere skal have adgang til en række tjenester.
Men nu bliver det faktisk muligt for tjenester at få logins fra samtlige brugerorganisationer i WAYF og eduGAIN via en OIDC-integration til WAYF. Og det endda helt uden at nogen af brugerorganisationerne skal foretage sig noget: Via deres eksisterende SAML-integration til WAYF understøtter de nu uden videre OIDC over for tjenester som deltager i WAYF. I midten oversætter WAYF nemlig mellem SAML og OIDC (og WS Federation) efter behov hver gang der sker en logintransaktion. Det er ny added value for de udbydere og organisationer som deltager i WAYF.
Der er flere varianter af OIDC-protokollen, og WAYFs OIDC-understøttelse vil blive udbygget i takt med at tjenesteudbydere efterspørger flere varianter. I første omgang implementerer vi varianten Implicit Flow with Form Post, som vil blive brugt i tjenesten DeiC Data Storage, WAYFs første use case for OIDC. Tjenesterne skal kunne modtage såkaldte JWE'er, altså krypterede JSON Web Tokens. Brugeroplysningerne WAYF returnerer til tjenesten i OIDC-billetten, benævnes efter standardskemaet for OIDC eller som i SAML, afhængigt af hvad tjenesteudbyderen ønsker.