Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[OAuth] Eigen Identity Provider beheren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dag allen,

Wellicht zijn er authenticate/authorize experts te vinden hier ;)

Doel
Mijn doel is het volgende; ik zou graag een authentication/authorization systeem willen ontwikkelen (of als het al bestaat, waar ik eigenlijk van uit ga; "gebruiken") wat het volgende kan:
  • Definitie: "Product" is een (gesloten) website met een unieke domeinnaam
  • Ik ben eigenaar van diverse Producten
  • als eigenaar wil ik gebruikers van de Producten beheren (er moet een Identity Provider, "IP", komen). Dit moet gedecentraliseerd gebeuren: de IP staat los van de Producten. Als bij wijze van spreken alle Producten van de aardbodem verdwijnen, bestaan de identities nog steeds.
  • In het admin gedeelte van de IP kan ik gebruikers beheren: nieuwe identities aanmaken, verwijderen/blokkeren plus hun rechten bepalen ("tot welke Producten heeft Identity X toegang?")
  • Nieuwe gebruikers kunnen niet zelf een identity aanmaken: als ze dit willen moet daarvoor een verzoek worden indiend.
  • Stel dat gebruiker Y inlogd op Product A (product A communiceert voor het authenticatieprocess met mijn Identity Provider). Vervolgens verlaat hij Product A (zonder uit te loggen) en bezoekt vervolgens Product B: een van mijn andere websites. Product B vraagt dan aan de IP of deze gebruiker reeds ingelogd is (belangrijk: niet op Product A, maar of hij ingelogd is "in het algemeen, op de IP - en dat is het geval in dit voorbeeld) en of hij toegang heeft tot Product B. Als beide antwoorden "ja" zijn, dan is de gebruiker automatisch ingelogd op Product B.
Bestaand voorbeeld (Google)
Deze gewenste situatie lijkt uiteraard heel erg op bijvoorbeeld jouw Google Account (een OpenID identity, beheert door Google). Als je ingelogd bent in Gmail, en je bezoekt vervolgens "het Product" Flickr (we gaan er vanuit dat je in het verleden toestemming hebt gegeven dat Flickr jouw Google account mag gebruiken), dan ben je ook ingelogd op Flickr.
En een stap verder: hetzelfde geldt voor alle websites die Google OpenID ondersteunen.

Het grootste verschil met mijn gewenste situatie is dat de Google accounts in de "open wereld" bestaan en gebruikt kunnen worden; waar ik alles achter gesloten deuren wil houden, voor mijn situatie en Producten.

Vraag van de week
Ik heb me (vanzelfsprekend) bijzonder goed verdiept in relevante materie. OpenID, OAuth 2.0 en met name het vrij recente OpenID Connect hebben weinig geheimen meer voor me (ik heb onder andere het boek "Getting Started with OAuth 2.0" van Google developer Ryan Boyd gekocht).

Ik begin te zien dat het mogelijk is om zelf een dergelijk "systeem" te ontwikkelen, gebaseerd op het OAuth 2.0/OpenID (Connect) protocol.
Maar is er iemand die mij naar een reeds bestaande oplossing kan verwijzen? Met de gewenste oplossing in gedachten; heeft iemand ervaring met bijvoorbeeld een van de libraries die de genoemde protocollen implementeren (http://openid.net/developers/libraries/)?

Veel van de daar genoemde libraries zijn niet compleet, verouderd of worden niet meer onderhouden.
Is het mijn lot zelf een dergelijk systeem te ontwikkelen (mogelijk, maar tijdrovend)?

Ik ben me bewust dat ik eigenlijk over het ontwikkelen/gebruiken van twee systemen spreek: een server side oplossing (de identity provider; IP), en een client side oplossing (waarmee Producten kunnen communiceren met de IP)

Bij voorbaat dank voor input.
Snel antwoord van mijn zijde op vragen hierbij beloofd ;)

Disclaimer: zoals gezegd, ik heb me goed ingelezen. Ook probeer ik de libraries een-voor-een. Momenteel experimenteer ik lokaal met oauth2-server-php.

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21-11 14:12
Deze is volgens mij redelijk recent/goed bijgehouden: https://github.com/thephpleague/oauth2-server (en zit ook client bij: https://github.com/thephpleague/oauth2-client maar die is nog 'work in progress'). Verder zelf geen ervaring mee.
(Edit: dan zou ik wel naar de develop (4.x) branch kijken, maar de documentatie voor de nieuwe versie wordt nog gemaakt, zijn alleen wat examples)

[ Voor 23% gewijzigd door Barryvdh op 08-08-2014 11:05 ]


Verwijderd

Topicstarter
Barryvdh schreef op vrijdag 08 augustus 2014 @ 10:53:
Deze is volgens mij redelijk recent/goed bijgehouden: https://github.com/thephpleague/oauth2-server (en zit ook client bij: https://github.com/thephpleague/oauth2-client maar die is nog 'work in progress'). Verder zelf geen ervaring mee.
(Edit: dan zou ik wel naar de develop (4.x) branch kijken, maar de documentatie voor de nieuwe versie wordt nog gemaakt, zijn alleen wat examples)
Dank! Heb hun repos voorbij zien komen inderdaad, maar had er nog geen aandacht aan besteed. Voor de liefhebber: zodra ik het uitgeprobeerd heb lokaal, zal ik dit topic updaten. Verwacht dat dit vandaag of morgen is.

Edit: lastig (te tijdrovend) uit te proberen zonder docs. Zal het project in de gaten houden.

[ Voor 6% gewijzigd door Verwijderd op 08-08-2014 13:45 ]