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 d'authentification 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 qui leur est attribué, ces identifiants doivent être configurés.
Dans l'exemple ci-dessous, tous les utilisateurs du groupe Azure AD avec l'identifiant c2b2***** auront le rôle d'administrateur après leur connexion :
Enregistrement 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 (monoclient ou multi-clients).
Comme URI de redirection, configurez les éléments suivants, en fonction des services activés par votre server. Cela peut également être modifié ultérieurement.
SKOOR Engine / SKOOR Dashboard | https://<FQDN>/skoor-auth/oidc/code |
SKOOR Dashboard Viewer | https://FQDN/skoor-dashboard-viewer-auth/oidc/code |
ID de locataire et ID de client
Une fois l'enregistrement de l'application sauvegardé, ouvrez l'onglet « Overview » (Aperçu) de l'application créée et notez les deux identifiants qui seront nécessaires ultérieurement pour la configuration. Il s'agit des identifiants suivants :
ID d'application (client)
ID du répertoire (locataire)
Certificats et secrets
Ensuite, allez dans 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 sera nécessaire ultérieurement pour configurer le service SKOOR Auth.
Jeton
Accédez à la configuration du jeton et sélectionnez « Ajouter une revendication de groupe ». Dans la configuration de la revendication, sélectionnez « Groupes de sécurité », puis sélectionnez la propriété du jeton. Tapez « ID » dans « 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 d'une autorisation pour 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 « utilisateur » 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 »
Keycloak
Entrée du fournisseur d'authentification 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>
Comme nous avons un émetteur personnalisé, nous devons fournir une icône à afficher à côté du nom. Nous pouvons fournir l'icône à l'aide d'une URL de données.
Paramètres requis dans Keycloak
Voici la configuration minimale requise pour faire fonctionner un OIDC avec Keycloak. Elle peut être utilisée si vous ne disposez pas encore d'un fournisseur d'authentification compatible OIDC et que vous souhaitez authentifier vos utilisateurs par rapport à un Active Directory interne.
Paramètres du domaine
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 <realm> dans votre entrée de fournisseur.
Il peut être judicieux d'activer l'option Se souvenir de moi dans l'onglet Connexion.
Clients
Vous devez ajouter une configuration client pour SKOOR.
L'ID client doit être inséré sous la forme <client_id> dans la configuration de votre fournisseur.
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 :
SKOOR Engine / SKOOR Dashboard | https://<FQDN>/skoor-auth/oidc/code |
SKOOR Dashboard Viewer |
Le secret client nécessaire pour la configuration du fournisseur <client_secret> est disponible dans l'onglet Credentials (Identifiants).
Portées client
Afin d'obtenir les informations de groupe d'un utilisateur, un mappeur supplémentaire appelé « groups » doit être ajouté à la portée du profil.
Fédération d'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 l'authentification unique Kerberos est nécessaire, elle peut être activée dans le menu Authentification.







