Adds OIDC login to your Matomo instance.
Login to Matomo with third party authentication services that provides Open ID Connect (OIDC). Check in FAQ for details on how to connect with your provider.
What is the callback url?
http(s)://<YOUR_MATOMO_URL>/index.php?module=RebelOIDC&action=callback&provider=oidc
Which providers can I use?
I tested the plugin with Auth0, GitHub and Keycloak, which work fine. If your provider does not seem to work, leave an issue on GitHub.
How can I unlink all users?
The easiest way is to fully uninstall the plugin and reinstall afterwards.
Otherwise you can delete data from matomo_rebeloidc_provider in your sql database.
If you change the OAuth provider and there could be user id collisions, you should make sure to unlink all users beforehand.
Can I embed the Login button on another website?
You have to uncheck the Disable direct login url option in the settings.
Afterwards you can link to http(s)://<YOUR_MATOMO_URL>/index.php?module=RebelOIDC&action=signIn&provider=oidc and Matomo will redirect the client accordingly.
Can I setup more than one provider?
Currently that is not possible. But you can use services like Auth0, which support multiple providers.
I get a Can't create table error when installing the plugin
Most likely you are using a very old Piwik installation, which still uses MyISAM tables. Learn here on how to update the database engine: https://matomo.org/faq/troubleshooting/faq_25610/
What are the settings for ...?
GitHub:
https://github.com/login/oauth/authorizehttps://github.com/login/oauth/access_tokenhttps://api.github.com/userid<EMPTY>Auth0:
https://<USERNAME>.eu.auth0.com/authorizehttps://<USERNAME>.eu.auth0.com/oauth/tokenhttps://<USERNAME>.eu.auth0.com/userinfosubopenid emailKeycloak (after 17.x):
http(s)://<YOUR_KEYCLOAK_URL>/realms/<REALM>/protocol/openid-connect/authhttp(s)://<YOUR_KEYCLOAK_URL>/realms/<REALM>/protocol/openid-connect/tokenhttp(s)://<YOUR_KEYCLOAK_URL>/realms/<REALM>/protocol/openid-connect/userinfohttp(s)://<YOUR_KEYCLOAK_URL>/realms/<REALM>/protocol/openid-connect/logout?redirect_uri=<MATOMO_URL>subopenid emailKeycloak (before 17.x):
http(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/authhttp(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/tokenhttp(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/userinfohttp(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/logout?redirect_uri=<MATOMO_URL>subopenid emailGitlab (self-hosted Community Edition 12.6.2):
http(s)://<YOUR_GITLAB_URL>/oauth/authorizehttp(s)://<YOUR_GITLAB_URL>/oauth/tokenhttp(s)://<YOUR_GITLAB_URL>/oauth/userinfosubopenid emailUnikname Connect:
Connect with your private @uniknamehttps://connect.unikname.com/oidc/authorizehttps://connect.unikname.com/oidc/accessTokenhttps://connect.unikname.com/oidc/profilesubopenid emailMicrosoft Entra ID:
https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/authorizehttps://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/tokenhttps://graph.microsoft.com/oidc/userinfosubopenid emailAuthentik:
https://<YOUR_AUTHENTIK_URL>/application/o/authorize/https://<YOUR_AUTHENTIK_URL>/application/o/token/https://<YOUR_AUTHENTIK_URL>/application/o/userinfo/https://<YOUR_AUTHENTIK_URL>/application/o/<YOUR_AUTHENTIK_APPLICATION_SLUG>/end-session/subopenid emailIn the Authentik Provider:
.* (only that worked for me, don't forget the DOT before!)
Remaining inputs for provider and application as normal.Okta:
https://${yourOktaDomain}/oauth2/v1/authorizehttps://${yourOktaDomain}/oauth2/v1/tokenhttps://${yourOktaDomain}/oauth2/v1/userinfoemailopenid emailAuthelia
https://<YOUR_AUTHENTIK_URL>/api/oidc/authorizationhttps://<YOUR_AUTHENTIK_URL>/api/oidc/tokenhttps://<YOUR_AUTHENTIK_URL>/api/oidc/userinfosubopenid profile email groups