Je souhaite faire un SaaS pour automatiser des taches sur un site tiers A.
Le site A n’a pas d’api (évidemment…).
L’automatisation ne peut se faire qu’aprés s’être authentifier (login/pass + 2FA).
J’ai pensé a selenium, mais je ne sais comment rediriger le browser vers une webapp pour que l’utilisateur puisse s’authentifier.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome()
driver.get("https://blabla.fr")
headless = browser automation sans avoir un navigateur d’ouvert … donc l’idéal pour faire ca en remote sur un serveur hébergeant la webapp
après tu récup les champs à remplir et tu alimente et tu clique
pour le 2FA c’est quel genre ? SMS ? Email ? la ca peut être tricky vite fait … autant en email ca se joue facile a mon avis, un package python POP3 ca doit exister (connexion + click ou renvoi du code du mail) … SMS là j’ai pas d’idée
l’utilisateur qui créé son compte sur ton appli, ca va utiliser quel compte derriere sur le site B ? un compte à toi commun pour tous tes users, ou bien ca créé un compte miroir sur le site B pour chaque user inscrit sur le site A ?
si chaque user a un compte miroir sur le site B = tu peux faire passe plat pour le code 2FA en le demandant à ton user
sinon si un compte partagé, alors tu peux passer par des prestataires genre twilio ou celui là avec le tuto qui va bien How to Receive SMS Messages in Python
L’utilisateur de la webapp a déjà son compte sur le site A (il a setup son 2FA, etc…).
Don oui, je peux faire passe plat effectivement.
Mais ça veut dire que je lui demande son user + pass, j’essaie de me co.
Si je suis bloqué par un 2FA, je lui demande de me le fournir, puis le continue ma co. Je vais essayer.
Dommage qu’il ne verra pas la connexion se faire en broadcast (genre comme un partage d’écran ou le truc se faire automatiquement).