Fournisseurs d'authentification externes
Plusieurs fournisseurs d'authentification externes peuvent être définis à l'aide des sections [provider.x] :
[provider.1] type = oidc # Provider type, currently only oidc is available name = OIDC Example # Display name issuer = example # issuer of the tokens. Can be "google", "microsoft" # or an arbitrary string for custom identity # providers icon = url('data:image/svg+xml;base64,...') # Optional display icon. Can be either a remote or # a data URL. If omitted, a default icon is used # based on type and provider. metadata_url = https://example.com/auth/realms/<realm> # URL to get OIDC metadata from. Can be obtained # from the provider. # It usually contains a realm or tenant id. client_id = <client-id> # OIDC client secret. Can be obtained from the # provider. Some providers call this "app id". client_secret = <client-secret-> # OIDC client secret. Can be obtained from the # provider. Some providers call this "secret value". hidden = false # it is possible to hide an authentication provider # on the SKOOR Auth start page. This can be useful # if e.g. normal users authenticate against a public # provider and support employees against an internal # one.
Microsoft Azure AD OpenID Connect
Entrée du fournisseur SKOOR Auth
[provider.1] type = oidc name = Azure AD Example issuer = microsoft metadata_url = https://login.microsoftonline.com/<tenant-id>/v2.0 client_id = <app-id> client_secret = <secret-value>
L'icône est définie automatiquement en fonction du nom de l'émetteur.
Paramètres requis dans Azure AD
ID de groupe Azure correspondant au groupe distant SKOOR :
Afin de permettre aux utilisateurs de se connecter et d'obtenir le rôle correct attribué, ces identifiants doivent être configurés.
Dans l'exemple ci-dessous, tous les utilisateurs du groupe Azure AD avec l'ID c2b2***** auront le rôle d'administrateur après la connexion :
Inscription de l'application
Dans votre Azure Active Directory, vous enregistrez une nouvelle application, choisissez les types de comptes pris en charge en fonction de votre configuration AD (mono-locataire ou multi-tenant).
En tant qu'URI de redirection, configurez les éléments suivants, en fonction des services activés par votre server . Cela peut également être modifié ultérieurement.
Engine Skoor / Tableau de bord Skoor | https:// |
Dashboard Viewer Skoor | https://FQDN/skoor-dashboard- viewer -auth/oidc/code |
ID locataire et ID client
Une fois l'enregistrement de l'application enregistré, ouvrez l'onglet d'aperçu de l'application créée et notez les deux identifiants qui seront ensuite nécessaires à la configuration. Ceux-ci sont appelés :
ID d'application (client)
ID d'annuaire (locataire)
Certificats et secrets
Ensuite, accédez à Certificats et secrets et ajoutez un secret client. Donnez un nom à ce secret et choisissez une date d'expiration. Une fois enregistré, vous pouvez voir l'identifiant secret et la valeur secrète. La valeur secrète est ensuite requise pour configurer le service Skoor Auth.
Jeton
Accédez à la configuration du jeton et sélectionnez « Ajouter une revendication de groupes ». Dans la configuration de la revendication, sélectionnez « Groupes de sécurité » et sélectionnez la propriété de jeton Tapez « ID » sur « sAMAccountName ».
Autorisation API
Cette étape est facultative. Pour activer plus de détails sur la configuration utilisateur dans Skoor, par exemple la photo de profil, l'application a besoin de l'autorisation de lire le profil utilisateur complet.
Pour cela, vous pouvez effectuer les étapes suivantes dans l'onglet « Autorisations API » :
Ajouter une autorisation
Sélectionnez Microsoft Graph
Autorisations déléguées
Recherchez User.Read ou faites défiler la section « user » et sélectionnez « User.Read », puis cliquez sur « ajouter une autorisation ».
De retour dans l'aperçu, confirmez l'autorisation en sélectionnant « Accorder le consentement de l'administrateur ».
Porte-clés
Entrée du fournisseur SKOOR Auth
[provider.2] type = oidc name = SKOOR Keycloak issuer = skoor icon = url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAwIDI1LjAwMDAwMSAyNSIKICAgaGVpZ2h0PSIyNSIKICAgd2lkdGg9IjI1IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBpZD0ic3ZnMiIKICAgdmVyc2lvbj0iMS4xIgogICBzb2RpcG9kaTpkb2NuYW1lPSJza29vci1jaXJjbGUuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjUgKDIwNjBlYzFmOWYsIDIwMjAtMDQtMDgpIj48c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNiIKICAgICBpZD0ibmFtZWR2aWV3MTMiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjIyLjIyNjk2NyIKICAgICBpbmtzY2FwZTpjeD0iOC4yODU2MDM4IgogICAgIGlua3NjYXBlOmN5PSIxMy42MjkyMjYiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMiIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIgLz48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE4Ij48cmRmOlJERj48Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICAgIGlkPSJkZWZzNiIgLz48cGF0aAogICAgIGlkPSJwYXRoMjQiCiAgICAgc3R5bGU9ImZpbGw6I2UyMDA3YTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wMjg2ODc3NSIKICAgICBkPSJtIDYuMDkzODUyMiwxMi4xNzc1MjUgYyAwLDMuODgzNDYgMi44Njc5MTM1LDYuNzIwOTY2IDYuMzYyMzY2OCw2LjcyMDk2NiAzLjQ5NTAyOSwwIDYuMzYyOTQ1LC0yLjgzNzUwNiA2LjM2Mjk0NSwtNi43MjA5NjYgMCwtMy4xMDYyOTU2IC0yLjg2NzkxNiwtNS45NDM4MDA1IC02LjM2Mjk0NSwtNS45NDM4MDA1IC0zLjQ5NDQ1MzMsMCAtNi4zNjIzNjY4LDIuODM3NTA0OSAtNi4zNjIzNjY4LDUuOTQzODAwNSB6IE0gMjQuOTEyNDQxLDEyLjE0Nzk4IGMgMCw3LjI4ODY5NiAtNS4yMjcxOTUsMTIuNDI2NjcyIC0xMi40NTYyMjIsMTIuNDI2NjcyIEMgNS4yMjc0ODE1LDI0LjU3NDY0OSAwLDE5LjQzNjY3MiAwLDEyLjE0Nzk3NyAwLDUuMzM3NTE5MyA1Ljk3NDIyNDMsMC41NTc4NTM0NSAxMi40NTYyMTksMC41NTc4NTM0NSBjIDYuNDgyMjg0LDAgMTIuNDU2MjIyLDQuNzc5NjY1ODUgMTIuNDU2MjIyLDExLjU5MDEyMzU1IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+PC9zdmc+') metadata_url = https://<keycloak-server-address>/auth/realms/<realm> client_id = <client-id> client_secret = <client-secret>
Puisque nous avons un émetteur personnalisé, nous devons fournir une icône à afficher à côté du nom. Nous pouvons fournir l'icône en utilisant une URL de données.
Paramètres requis dans Keycloak
Ce qui suit est une configuration minimale pour faire fonctionner un OIDC avec Keycloak. Cela peut être utilisé si vous ne disposez pas déjà d'un fournisseur d'authentification compatible OIDC et que vous souhaitez authentifier vos utilisateurs auprès d'un annuaire actif interne.
Paramètres du royaume
Si vous n'avez pas encore configuré de domaine, vous devez en ajouter un. Un bon nom de domaine pourrait être le nom de votre entreprise. Ce nom est la valeur que vous devez insérer comme
Ce pourrait être une bonne idée d'activer l'option Se souvenir de moi dans l'onglet Connexion .
Clientèle
Vous devez ajouter une configuration client pour SKOOR.
L'ID client doit être inséré comme
Le protocole client doit être openid-connect .
Le type d'accès doit être confidentiel
Le flux standard doit être activé.
Les URL de redirection doivent être définies sur les valeurs suivantes :
Engine Skoor / Tableaux de bord Skoor | https:// |
Dashboard Viewer Skoor |
Le secret client nécessaire pour le
Portées client
Afin d'obtenir des informations de groupe pour un utilisateur, un mappeur supplémentaire appelé groupes doit être ajouté à la portée du profil .
Fédération des utilisateurs
Afin de pouvoir s'authentifier auprès d'un Active Directory, un fournisseur LDAP doit être ajouté.
Ces paramètres dépendent fortement de votre configuration AD
Une étape très importante consiste à ajouter un mappeur de type group-ldap-mapper.
Kerberos
Si Kerberos SSO est nécessaire, cela peut être activé dans le menu Authentification