Skip to main content

Cette version de GitHub Enterprise Server ne sera plus disponible le 2026-08-25. Les versions abandonnées ne sont pas prises en charge. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités dans GitHub Enterprise Server, consultez Overview du processus de mise à niveau. Pour obtenir de l’aide sur la mise à niveau, GitHub Support Entreprise.

Résolution des problèmes d’authentification SAML

Si vous utilisez l’authentification unique SAML et que les utilisateurs ne peuvent pas s’authentifier pour y accéder GitHub, vous pouvez résoudre le problème.

À propos des problèmes liés à l’authentification SAML

GitHub Enterprise Server enregistre des messages d’erreur concernant les échecs d’authentification SAML dans les journaux systemd du conteneur github-unicorn. Vous pouvez consulter les réponses dans ce journal et vous pouvez également configurer une journalisation plus détaillée.

Pour plus d’informations sur les exigences de réponse SAML, consultez Référence de configuration SAML.

Configuration du débogage SAML

Vous pouvez configurer GitHub Enterprise Server pour écrire des journaux de débogage détaillés pour chaque tentative d’authentification SAML. Cette sortie supplémentaire pourrait vous permettre de résoudre les tentatives d’authentification avortées.

Avertissement

  • N’activez le débogage SAML que de façon temporaire et désactivez-le de suite après avoir résolu les problèmes. Si vous laissez le débogage activé, la taille des fichiers journaux augmente beaucoup plus rapidement que d’habitude, ce qui peut nuire aux performances de GitHub Enterprise Server.
  • Testez les nouveaux paramètres d’authentification dans votre instance GitHub Enterprise Server un environnement intermédiaire avant d’appliquer les paramètres dans votre environnement de production. Pour plus d’informations, consultez « Configuration d’une instance de préproduction ».
  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

  2. En haut de la page, cliquez sur Stratégies.

  3. Sous Politiques, cliquez sur Options.

  4. Sous « Débogage SAML », sélectionnez la liste déroulante, puis cliquez sur Activé.

  5. Essayez de vous connecter à votre instance GitHub Enterprise Server via votre fournisseur d’identité SAML.

  6. Examinez la sortie de débogage dans le journal systemd pour github-unicorn sur votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « À propos des journaux système ».

  7. Une fois la résolution des problèmes terminée, sélectionnez la liste déroulante, puis cliquez sur Désactivé.

Décodage des réponses

Certaines sorties dans le journal systemd pour github-unicorn peuvent être encodées en Base64. Vous pouvez accéder au shell d’administration et utiliser l’utilitaire base64 sur votre instance GitHub Enterprise Server pour décoder ces réponses. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».

Pour décoder la sortie, exécutez la commande suivante, en remplaçant ENCODED_OUTPUT par la sortie encodée du journal.

base64 --decode ENCODED_OUTPUT

Erreur : « Un autre utilisateur est déjà propriétaire du compte »

Lorsqu’un utilisateur se connecte à votre instance GitHub Enterprise Server pour la première fois avec l’authentification SAML, GitHub crée un compte utilisateur sur l’instance et associe les éléments SAML NameID et nameid-format à ce compte.

Lorsque l’utilisateur se reconnecte, GitHub Enterprise Server compare le NameID du compte et sa correspondance nameid-format à la réponse de l’IdP. Si le NameID ou le nameid-format dans la réponse de l’IdP ne correspond plus aux valeurs que GitHub attend pour l’utilisateur, la connexion échouera. L’utilisateur obtient le message suivant.

Un autre utilisateur est déjà propriétaire du compte. Demandez à votre administrateur de vérifier le journal d’authentification.

Le message indique généralement que le nom d’utilisateur ou l’adresse e-mail de la personne a changé au niveau de l’IdP. Vérifiez que le mappage NameID et nameid-format du compte utilisateur sur GitHub Enterprise Server correspond bien aux NameID et nameid-format de l’utilisateur sur votre fournisseur d’identité. Pour plus d’informations, consultez « Mise à jour du paramètre NameID SAML d’un utilisateur ».

Erreur : Le destinataire dans la réponse SAML était absent ou non valide

Si le Recipient ne correspond pas à l’URL ACS pour votre instance GitHub Enterprise Server, l’un des deux messages d’erreur suivants apparaîtra dans le journal d’authentification lorsqu’un utilisateur tente de s’authentifier.

Recipient in the SAML response must not be blank.
Recipient in the SAML response was not valid.

Assurez-vous de définir, pour Recipient, la valeur sur l’URL ACS complète pour votre instance GitHub Enterprise Server dans votre fournisseur d’identité. Par exemple : https://ghe.corp.example.com/saml/consume.

Erreur : « La réponse SAML n’est pas signée ou a été modifiée »

Si votre IdP ne signe pas la réponse SAML ou que la signature ne correspond pas au contenu, le message d’erreur suivant s’affiche dans le journal d’authentification.

SAML Response is not signed or has been modified.

Assurez-vous de configurer des assertions signées pour l’application GitHub au niveau de votre fournisseur d’identité.

Erreur : « L’audience n’est pas valide » ou « Aucune assertion trouvée »

Si la valeur de Audience dans la réponse de l’IdP est vide ou incorrecte, le message d’erreur suivant s’affiche dans le journal d’authentification.

Audience is invalid. Audience attribute does not match https://YOUR-INSTANCE-URL

Assurez-vous de définir, sur votre fournisseur d’identité, la valeur de Audience sur EntityId pour votre instance GitHub Enterprise Server, qui correspond à l’URL complète de votre instance. Par exemple : https://ghe.corp.example.com.

Erreur : « L’heure actuelle est antérieure à la condition NotBefore »

Cette erreur peut se produire lorsqu'il y a une trop grande différence de temps entre votre IdP et GitHub, ce qui se produit généralement avec les IdP auto-hébergés.

Pour éviter ce problème, nous vous recommandons de faire pointer votre appareil vers la même source NTP (Network Time Protocol) que votre fournisseur d’identité, si possible. Si vous rencontrez cette erreur, assurez-vous que l’heure de votre appliance est correctement synchronisée avec votre serveur NTP. Vous pouvez utiliser la commande chronyc sur le shell d’administration pour synchroniser l’heure immédiatement. Pour plus d’informations, consultez « Configuration de la synchronisation de l’heure ».

Si vous utilisez ADFS comme fournisseur d’identité, définissez également NotBeforeSkew dans ADFS sur 1 minute pour GitHub. Si NotBeforeSkew est défini sur 0, même les différences de temps très petites, y compris de l’ordre de la milliseconde, peuvent entraîner des problèmes d’authentification.

Erreur : « échec - La validation SAML mise à jour a renvoyé un résultat non valide »

Cette erreur peut se produire dans la version 3.17.0 ou ultérieure de votre instance GitHub Enterprise Server. Cela indique que GitHub n’est pas en mesure de traiter correctement la réponse SAML qu’il a reçue du fournisseur d’identité. Ouvrez un GitHub ticket de support afin que les GitHub équipes de support et d’ingénierie puissent examiner et résoudre le problème.

Erreur : non-correspondance du digest

Une erreur « Incompatibilité de synthèse » indique que votre fournisseur d’identité SAML utilise un certificat de signature SAML différent de celui que vous avez chargé vers GitHub ou que la méthode signature ou la méthode Digest configurée GitHub diffère de celle utilisée par votre fournisseur d’identité.

Téléchargez à nouveau ce certificat SAML depuis votre fournisseur d’identité et validez-le à l’aide d’un outil en ligne, tel que l’outil Format a X.509 cert de OneLogin. Chargez ensuite à nouveau le certificat SAML dans la section « Authentification » de votre GitHub Enterprise Server console de gestion. Voir Géstion de votre instance à partir de l’IU WEB..