Adds support for integrating external authentication services.
Login via third party authentication services.
Easily add a "Login with GitHub" button your Matomo instance. You can also setup any other service to do the authentication for you.
View and download this plugin for a specific Matomo version:
What is the callback url?
http(s)://<YOUR_MATOMO_URL>/index.php?module=LoginOIDC&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_loginoidc_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=LoginOIDC&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/authorize
https://github.com/login/oauth/access_token
https://api.github.com/user
id
<EMPTY>
Auth0:
https://<USERNAME>.eu.auth0.com/authorize
https://<USERNAME>.eu.auth0.com/oauth/token
https://<USERNAME>.eu.auth0.com/userinfo
sub
openid email
Keycloak:
http(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/auth
http(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/token
http(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/userinfo
http(s)://<YOUR_KEYCLOAK_URL>/auth/realms/<REALM>/protocol/openid-connect/logout?redirect_uri=<MATOMO_URL>
sub
openid email
Gitlab (self-hosted Community Edition 12.6.2):
http(s)://<YOUR_GITLAB_URL>/oauth/authorize
http(s)://<YOUR_GITLAB_URL>/oauth/token
http(s)://<YOUR_GITLAB_URL>/oauth/userinfo
sub
openid email
Unikname Connect:
Connect with your private @unikname
https://connect.unikname.com/oidc/authorize
https://connect.unikname.com/oidc/accessToken
https://connect.unikname.com/oidc/profile
sub
openid email
Microsoft Azure AD
https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/authorize
https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token
https://graph.microsoft.com/oidc/userinfo
sub
openid email
View and download this plugin for a specific Matomo version: