-
Notifications
You must be signed in to change notification settings - Fork 24
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
Vie privée: utilisation du ID public en place de PK dans les URLs #4395
Conversation
J'avais réflechis sur l'idée d'utiliser le Sinon, ce serait peut-être plus performante de mettre |
Oui, il va falloir 👍 |
J'ai testé quelques URLs à la main, et j'ai ajouté quelques URLs dans mes changements ici qui n'étaient pas dans la spécification, mais où j'ai répliqué le bug L'application est toujours nouvelle pour moi - ce serait efficace je pense si quelqu'un pourrait me faire un tutoriel sur le processus d'une candidature, et on pourrait voir ensemble s'il y a des autres vecteurs d'attaque |
|
itou/www/apply/views/submit_views.py
Outdated
@@ -1678,3 +1678,19 @@ def hire_confirmation(request, company_pk, job_seeker_public_id, template_name=" | |||
"is_subject_to_geiq_eligibility_rules": company.kind == CompanyKind.GEIQ, | |||
}, | |||
) | |||
|
|||
|
|||
class JobSeekerPrimaryKeyRedirectView(RedirectView): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Euh les redirect ne vont pas gérer les POST des formulaires donc toutes les personnes en cours de candidature/création de candidat/mise à jour de candidat vont perdre leur soumission de formulaire.
Pourquoi ne pas être parti sur <str:public_id>
?
Ou en alternative, conserver les doubles URLs:
path("edit_job_seeker_info/<int:job_seeker_public_id>", views.edit_job_seeker_info),
path("edit_job_seeker_info/<uuid:job_seeker_public_id>", views.edit_job_seeker_info, name="edit_job_seeker_info"),
Et gérer les deux formats dans les vues ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Après réflexion j'aimais pas la complexité de la gestion des différents types sur l'input, il y avait plus qu'un try/catch à faire - j'ai cherché une solution avec une redirection qui m'a semblé plus propre
Mince, merci de l'avoir signalé
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xavfernandez j'ai implementé ta suggestion : 13e5fa9
C'est digne de l'effort d'ajouter diverses tests sur ces endpoints tu penses, ou mieux d'aller plus vite avec des tests unitaires plus limités ?
Normalement j'aime pas trop les fichiers utils.py
, mais j'ai choisis ce style afin de bien séparé la logique à supprimer dans quelques jours
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour moi pas besoin de tests pour les vues avec job_seeker_pk
: elles étaient testées jusque là et marchaient très bien + on va les supprimer dans quelques jours.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
L'utils.py
ne me choque pas 👍
makes it more difficult to use URLs to scrape applicant content from the server reformat changes for PEP8 feat(submit_views): temporary redirects on depreceated job_seeker_pk urls refactor(apply): PK views are supported without redirects refactor(apply/urls): remove unused names on URL paths
58b34e8
to
f0ea7f2
Compare
🤔 Pourquoi ?
En tant qu’employeur, je ne dois pas récupérer les informations personnelles de tous les candidats des emplois
🍰 Comment ?
Remplacer l'utilisation des PKs du base de donnée avec les
public_id
s🚨 À vérifier