Mijn webapplicatie werkt op de 'oude' manier: de gebruiker logt in via de browser, en wachtwoorden worden netjes opgeslagen in de database met password_hash() en gecontroleerd met password_verify(). Eenmaal ingelogd schakelt de database over op de rol van de gebruiker, waardoor de database de autorisatie regelt.
Nu wil ik mijn applicatie gaan voorzien van Single Sign-On (SSO). Ik heb het bij een klant wel eens helpen inrichten, maar ik heb het nog nooit zelf gebouwd. Ik weet dat PHP kan communiceren met LDAP en dat er mogelijkheden zijn voor SASL, en SASL kan via GSSAPI gekoppeld worden aan Postgres.
Maar daar houdt mijn kennis even op. Er zijn veel verschillende authenticatiemechanismen, protocollen, en manieren om het in te richten, dat ik het nog niet voor me zie.
Hoe zou SSO ingericht kunnen worden voor een PHP + Postgres applicatie? De webserver is nu nginx, maar kan vervangen voor apache. Moet ik een een PAM module (apache) of SPNEGO plugin (nginx) gebruiken? Of kan het misschien direct via Postgres?
Het mooiste zou zijn als ik zo min mogelijk speciaals in PHP hoef te doen.
Elk duwtje in de goede richting wordt gewaardeerd.
2.247 views