Feide Connect Neste generasjons tjenesteplattform for utdanningssektoren Oslo, 27. mai 2014 Andreas Åkre Solberg andreas.solberg@uninett.no Andreas Åkre Solberg Senior Technical Architect UNINETT AS ! andreas.solberg@uninett.no http://www.linkedin.com/in/andreassolberg Denne presentasjonen er tilgjengelig i pdf og i keynote. Kun keynote versjonen inneholder video. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. 2 Feide Identitetsforvaltning i utdanningssektoren Både høyere utdanning og grunnopplæringa Samarbeid mellom UNINETT og IKT-senter for utdanning Single Sign-On for web med SAML 2.0 (samme tekniske protokoll som ID-porten) Webtjenester får autentisert brukere, og endel data om brukeren. Tjenester i dag har et økende behov for mer kontekst om brukeren. ! Internasjonal kryss-føderering, gjestebrukere, to-faktor. 3 NTNU Katalogtjener UiO Katalogtjener HiOA Katalogtjener LDAP Feide Login page SAML 2.0 Tjeneste Tjeneste Tjeneste 4 The gap between services’ needs and supporting middleware infrastructure is increasing 5 SAML is great for SSO - not everything else 6 Authentication Request user chooses to login Tjeneste Feide Response (with attribute set) Userdata 7 Lets build… (Feide Connect) Today everything is about APIs 9 HTTP 10 Authorization management OAuth 2.0 HTTP 11 eduPerson++ VOOT OpenID Connect SCIM PeopleSearch ActivityStreams +++ 3rd party APIs Authorization management OAuth 2.0 HTTP 12 App Engine Workflow Javascript PaaS Groups AppStore Feed DevDashboard Documentation Inspect App App App Authorization Dialog eduPerson++ VOOT OpenID Connect SCIM +++ 3rd party APIs Authorization management OAuth 2.0 HTTP UNINETT AS info@uninett.no 13 Groups FS Common Student System Feide attributes Feide attributes GroupEngine Parallell aggregator Ad-hoc groups VOOT SCIM Clients 14 Developer Dashboard Groups Manage ad-hoc groups using groups and peoplesearch APIs 16 ActivityStreams 17 3rd party APIs api.3rdparty.org GET /api/0/items HTTP/1.0 Authorization: xxxxx Host: 3rd-domain.org FC-UserID: andreas@uninett.no FC-Groups: x001, x002, x009 FC-Scopes: readaccess FC-ClientID: 4thparty-org001 established trust API Gatekeeper Authorization workflow Auth Self service OAuth server 3rd.api.feideconnect.edu HTTP API + OAuth Clients 18 App Store Tjenester for utdanningsektoren. ! Et viktig redskap for å hjelpe belutningstakere forvalte sin lokale tjenesteportefølge. Kobling mot blandt annet pris og bruksstatistikk. ! Nyttig for å synliggjøre og tilgjengeliggjøre tjenester mot sluttbrukere. ! Utgangspunkt for samarbeid og erfaringsutveksling mellom tjenesteabbonementer. 19 Time to market Distribusjon Distribusjon Tjeneste Idé Tjeneste Idé Integrasjon og mellomvare Integrasjon og mellomvare 20 Enklere for «små» og «nye» tjenesteleverandører. Ønsker å bidra til mindre leverandørbindinger og innlåsning Ønsker å bidra til at utdanningssektoren fremstår som et harmonisert og strømlinjeformet marked - basert på standarder, og felles integrasjonspunkter. 21 Bruk og misbruk: fordeling av ansvar mellom tjeneste, dataeier og sluttbruker. Hva skal man ekponere av data over APIer? Hva kan tjenesten få tak uten API-er, eksempel: studentapp med eksamensresultater… 22 IKT-tjenester av høy kvalitet Tjenesteplattform Anskaffelser Selvbetjening og arbeidsflyt Statistikk og monitorering Arkitektur Mellomvare og integrasjon Leveranseplattform Driftsplattform (delvis eksterne leverandører) Provisjonering/ Tjenestebuss Tungregning eduroam wireless roaming Lagring API og Integrasjon UH-AD Active Directory SaaS Grupper og autorisasjon Feide Governance AppStore Sikkerhet Innkjøp, personvern, avtaleverk og kontrakter UH Sektoren PaaS IaaS Nettverk 23 That’s it. andreas@uninett.no The rest of the slides was not included in the presentation. 24 Cross-federation Feide FS 3rd API 3rd API 3rd API Guest users Feide Connect Custom Connectors Storage Group Engine UserInfo Feide Connect Widgets Groups Dev Feed JScore API Auth Engine Feide Connect API Gatekeeper OAuth Server OAuth Tokens OAuth Tokens Desktop Client Mobile App Web App Apps Apps Apps App Engine Service 25 Frontend protocols service to service service to platform Javascript window.postMessage «Federated» iframes with isPassive=true 26 Adobe Connect Widget demo Can be used «anywhere»! Just copy and paste a short JS sniplet. Can easily be setup to adopt surrounding group environment, to set «current group». Fully controlled authorization and access controll for Adobe Connect. No preconfiguration whatsover for endusers. 27 28 Autoconfigure demo Simplify registration of service providers Can be prepacked with popular applications; in.e. wordpress (plugin demoed) ! Wordpress plugin with no external dependencies. 29 30 feed Widget demo Widget push shared news or any «activity» to activity stream Another widget presents «news» within a group in a collaboration service (Liferay) 31 Feed Widget! Shows an aggregated feed of activities for the current selected group across all collaboration tools. Share widget! Can be easily integrated anywhere. Will share a link to the current web page to the activity stream for the current user in a selected group context.32 etherpad demo 33