Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TECH] Mise à jour de samlify 2.4.0 à 2.7.6. #2296

Merged
merged 1 commit into from
Jan 14, 2021

Conversation

octo-topi
Copy link
Contributor

@octo-topi octo-topi commented Dec 16, 2020

🦄 Problème

Suite à passage à Node10, le package samlify a été forké pour forcer l'utilisation de xml-crypto à 1.0.2 afin d'avoir un comportement désiré.

Mais plusieurs problèmes de sécurité de niveau haut affectent ce package xml-crypto

🤖 Solution

A ce jour, la nouvelle version 2.75 samlify qui embarque la version 2 de xml-crypto fonctionne dans Pix et ne cause plus de problème de sécurité

🌈 Remarques

Vérifier le choix du package de validation XML

J'ai écarté @authenio/samlify-xsd-schema-validator car il a besoin d'un environnement java
J'ai pris @authenio/samlify-node-xmllint de manière arbitraire

💯 Pour tester

Se connecter sans compte existant avec le GAR, puis se reconnecter

@octo-topi octo-topi added Development in progress cross-team Toutes les équipes de dev labels Dec 16, 2020
@octo-topi octo-topi self-assigned this Dec 16, 2020
@pix-service
Copy link
Contributor

@jonathanperret
Copy link
Member

@octo-topi le fork de samlify n'a rien à voir avec le passage à Node 10 mais servait plutôt à éviter une dépendance à Java qui était alors introduite par samlify. Nous avons estimé que l'apport de la validation XSD ne justifiait pas cette dépendance ni le coût en performances d'un appel à un exécutable Java externe.

Depuis samlify a introduit la possibilité de choisir le composant de validation, voire de désactiver la validation. En revanche sélectionner samlify-xsd-schema-validator nous ramènerait à la situation initiale de dépendance à Java ! Ce que montre bien l'échec du déploiement de cette PR…

@octo-topi octo-topi force-pushed the tech-bump-samlify-2.4-to-2.7.5 branch 2 times, most recently from 551021d to c2b6676 Compare December 17, 2020 07:38
@octo-topi
Copy link
Contributor Author

octo-topi commented Dec 17, 2020

@octo-topi le fork de samlify n'a rien à voir avec le passage à Node 10

Je m'étais basé sur le commentaire du commit 😄
"Pin xml-crypto version to fix samlify breakage"

Concernant la dépendance à Java, j'avai corrigé en local mais oublié de pusher 🤦

@jonathanperret
Copy link
Member

Je m'étais basé sur le commentaire du commit 😄
"Pin xml-crypto version to fix samlify breakage"

C'est un message de commit qui mentionne samlify et xml-crypto certes mais ce n'est pas le commit qui introduit le fork de samlify, qui est plutôt celui-ci : 962feb3

Je ne vois pas comment tu arrives à cette conclusion en partant de ce commit 🤷‍♂️

@VincentHardouin
Copy link
Member

VincentHardouin commented Dec 17, 2020

@HEYGUL avait fait le changement dans une PR de montée de version #1767, que j'ai sans faire exprès écrasé. Cependant j'ai oublié de les reprendre, les jours passent et heureusement les commits restent : ba28472, 785c674

@octo-topi
Copy link
Contributor Author

octo-topi commented Dec 17, 2020

Je m'étais basé sur le commentaire du commit smile
"Pin xml-crypto version to fix samlify breakage"

C'est un message de commit qui mentionne samlify et xml-crypto certes mais ce n'est pas le commit qui introduit le fork de samlify, qui est plutôt celui-ci : 962feb3

Je ne vois pas comment tu arrives à cette conclusion en partant de ce commit man_shrugging

🤦 J'ai git blame sur xml-crypto au lieu de samlify
Merci pour l'explication et le commentaire d'issue d'origine !
tngan/samlify#224 (comment)

@octo-topi
Copy link
Contributor Author

octo-topi commented Dec 17, 2020

@HEYGUL avait fait le changement dans une PR de montée de version #1767, que j'ai sans faire exprès écrasé. Cependant j'ai oublié de les reprendre, les jours passent et heureusement les commits restent : ba28472, 785c674

J'aime ce proverbe ad-hoc ! merci @VincentHardouin
J'ai comparé les modifs: je vois que xml-crypto est toujours en dépendance directe package.json| (au lieu d'être en transitif - package-lock.json). On est d'accord que je peux enlever la dépendance directe ?

Ensuite, j'ai vu qu'on n'utilisait pas la validation dans la version @HEYGUL

samlify.setSchemaValidator({
  validate() {
    return Promise.resolve('skipped');
  }
});

Comme elle marche avec @authenio/samlify-node-xmllint, quelqu'un gradé en sécurité sait-il quoi préférer ?

@jbuget jbuget changed the title [TECH] Mise à jour de samlify 2.4.0 à 2.7.5. [TECH] Mise à jour de samlify 2.4.0 à 2.7.6. Jan 7, 2021
@jbuget jbuget force-pushed the tech-bump-samlify-2.4-to-2.7.5 branch from 9c3b160 to 9499176 Compare January 8, 2021 00:21
@HEYGUL HEYGUL force-pushed the tech-bump-samlify-2.4-to-2.7.5 branch from 9499176 to ea81c8e Compare January 9, 2021 08:26
@octo-topi octo-topi force-pushed the tech-bump-samlify-2.4-to-2.7.5 branch from ea81c8e to 34820ec Compare January 13, 2021 16:31
@octo-topi octo-topi requested a review from HEYGUL January 13, 2021 16:43
@pix-service-auto-merge pix-service-auto-merge deleted the tech-bump-samlify-2.4-to-2.7.5 branch January 14, 2021 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cross-team Toutes les équipes de dev 🚀 Ready to Merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants