Keycloak en WordPress oAuth 2.0 in MultiSite

Rollen

,

Programmeertalen

Achtergrond informatie

Keycloak is een open source applicatie om single sign-on (SSO) met Identity en Access Management in te loggen in applicaties en diensten. oAuth 2.0 is een veilige manier van inloggen. De Single Sign On (SSO) maakt het mogelijk om dezelfde inlognaam en wachtwoord voor verschillende applicaties te gebruiken. In Keycloak kan per applicatie voor iedere gebruiker andere rechten worden ingesteld.

WordPress Multisite is een functie van WordPress, waarmee meerdere websites vanuit dezelfde WordPress installatie op de server werken. Vanuit één dashboard kunnen meerdere websites beheert worden. WordPress Multisite kan gebruikt worden om per land een andere domein te gebruiken. Het kunnen ook totaal verschillende sites zijn.

Project goal

De WordPress MultiSite wordt gebruikt om voor verschillende klanten de content te beheren. Klanten kunnen zelf inloggen en artikelen aanmaken. Een klant kan meerdere sites hebben. Keycloak moet zo ingesteld worden dat klanten alleen artikelen kunnen schrijven en gebruikers met admin rechten kunnen alles.

WordPress multisite

Oplossing

Docker is gebuikt voor zowel Keycloak als voor de WordPress develop-, test en productieomgeving. In Keycloak zijn groepen aangemaakt voor administrators en voor klanten. Klanten zijn aan één of meerdere WordPress websites gekoppeld.

Ontwikkelde en gebruikte plugins

  • OpenID Connect Generic Client
  • Authentication plugin
    Deze zelfgemaakte plugin override de nodige functies van de OpenID Connect Generic Client zodat de authenticatie flow werkt zoals deze in Keycloak is geïmplementeerd.