Hoi,
Ik zit met het volgende probleem:
Website X wordt beheerd door een externe partij. Zij willen producten uit een webshop Y die ik beheer kunnen aanbieden met korting aan hun leden. Die leden zijn ingelogd op de externe server X, en moeten middels een link op de webshop Y terecht komen. Daar moeten we dus controleren of de gebruiker wel is ingelogd op de externe server X, en vervolgens de producten tonen.
Opzich is het dus allemaal niet top-secret, dus we hoeven ook geen state-of-the-art beveiliging.Omdat de gebruikers altijd via de externe server komen (en dus nooit rechtstreeks op onze shop), stelde ik de volgende (houtje-touwtje-) oplossing voor:
Ik zit met het volgende probleem:
Website X wordt beheerd door een externe partij. Zij willen producten uit een webshop Y die ik beheer kunnen aanbieden met korting aan hun leden. Die leden zijn ingelogd op de externe server X, en moeten middels een link op de webshop Y terecht komen. Daar moeten we dus controleren of de gebruiker wel is ingelogd op de externe server X, en vervolgens de producten tonen.
Opzich is het dus allemaal niet top-secret, dus we hoeven ook geen state-of-the-art beveiliging.Omdat de gebruikers altijd via de externe server komen (en dus nooit rechtstreeks op onze shop), stelde ik de volgende (houtje-touwtje-) oplossing voor:
- De link naar onze website op de externe site X bevat een GET-variabele met een random string, iets als: www.webshopY.nl/index.php?token=1csdr
- Zodra de request bij ons (Y) binnenkomt doen we via https een request naar de externe server X met daarin het IP-adres van de bezoeker en de token. Dit kan via GET of POST.
- De externe server X geeft de userdata terug indien de combinatie van token & ip ingelogd is, en 0 indien de combinatie dat niet is. De externe server X werkt met IP-whitelisting om alleen requests van onze server Y te accepteren. Eventueel kun je tokens nog na x minuten laten expiren.
- oAuth niet bedoeld is voor dit soort situaties
- oAuth overkill is voor dit vraagstuk
- oAuth in combinatie met bovenstaand voorstel dubbelop is
- Mijn voorstel oneindig veel simpeler is, en in dit geval veilig genoeg is.
- Kloppen mijn stellingen? Zonee waar gaat het mis?
- Indien oAuth toch the way to go is: heeft iemand een (linkje naar-) een voorbeeld van een implementie in een soortgelijk geval? Elk voorbeeld wat ik kan vinden gaat uit van een inlogsysteem op de webshop die voor toegang tot hulpbronnen op de externe server de login via de externe site laat lopen, en dat is net even iets anders dan wat ik wil?
- Ons scenario lijkt me zeer vaak voorkomend en gebruikelijk. Zijn er ander etechnieken / standaarden die hiervoor bedoeld zijn die ik over het hoofd zie?