diff --git a/modules/caissedepargne/browser.py b/modules/caissedepargne/browser.py index 37d24a0556587d6c19b5ecb51796e3f7e34a02f2..ccd5d7ec24886dcd30c3c0000a072e8cc390defd 100644 --- a/modules/caissedepargne/browser.py +++ b/modules/caissedepargne/browser.py @@ -677,6 +677,10 @@ def do_new_login(self, data): continue_url = url_params['continue'][0] continue_parameters = data['continueParameters'] + # snid is either present in continue_parameters (creditcooperatif / banquebcp) + # or in url_params (caissedepargne / other children) + snid = json.loads(continue_parameters).get('snid') or url_params['snid'][0] + self.location( url, method='POST', @@ -706,7 +710,7 @@ def do_new_login(self, data): 'display': 'page', 'client_id': client_id, 'claims': '{"userinfo":{"cdetab":null,"authMethod":null,"authLevel":null},"id_token":{"auth_time":{"essential":true},"last_login":null}}', - 'bpcesta': '{"csid":"%s","typ_app":"rest","enseigne":"ce","typ_sp":"out-band","typ_act":"auth","snid":"%s","cdetab":"%s","typ_srv":"part"}' % (csid, url_params['snid'][0], url_params['cdetab'][0]), + 'bpcesta': '{"csid":"%s","typ_app":"rest","enseigne":"ce","typ_sp":"out-band","typ_act":"auth","snid":"%s","cdetab":"%s","typ_srv":"part"}' % (csid, snid, url_params['cdetab'][0]), }, ) self.page.send_form()