# Wiki.js

## Presentation

Wiki.js is an open-source wiki.

See the official Wiki.js website for a complete presentation.

It feature an OpenID Connect login that work with LemonLDAP::NG.

## Configuring Wiki.js

Connect to your wiki.js instance with an Admin user, in the admin panel, go to “Authentication”.

Click on “Add Strategy” and Choose “Generic OpenID Connect / OAuth2”.

Choose a Display Name.

Define a Client ID and a Client Secret.

- Authorization Endpoint URL : https://auth.example.com/oauth2/authorize

- Token Endpoint URL : https://auth.example.com/oauth2/token

- User info Endpoint URL : https://auth.example.com/oauth2/userinfo

- Issuer : https://auth.example.com

- Logout URL : https://auth.example.com/oauth2/logout

Make a note of the “Callback URL” and the bottom of the screen and save the configuration.

### Configuring LemonLDAP

We now have to configure LemonLDAP::NG to recognize wiki.js as a valid OIDC relying party.

Add a new OpenID Connect relying party with the following parameters (Options -> Basic) :

- Client ID: the same you set in Wiki.js configuration.

- Client Secret: the same you set in Wiki.js configuration.

- Allowed redirection addresses for login: The “Callback URL” defined in wiki.js.

#### Portal with internal CA

Danger

OIDC login fails when your LemonLDAP portal doesn’t use a publicaly recognized certificate (Internal Corporate CA), this is because nodejs use it’s own keystore. You’ll need to pass “NODE_EXTRA_CA_CERTS=” to your wiki installation. If done in docker you will have to create a new image from the official one, add your CA certificates into it, and use the env variable to use it in your wiki.js container.