1 pièce(s) jointe(s)
Se connecter avec identifiants - expiration
Bonjour,
je débute en JavaScript,
J'utilise le module GreaseMonkey de Firefox qui permet d'exécuter du code JS sur les pages du navigateur.
J'ai réussi à écrire un petit bout de code pour me connecter automatiquement à un site web :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| if(document.getElementById('email_for_login')!=null)
{
var frm_element = document.getElementById('email_for_login');
frm_element.value = 'mon identifiant';
var frm_element = document.getElementById('password_for_login');
frm_element.value = 'mon mot de passe';
document.querySelector("#submit_for_login").addEventListener("submit", function(e){
if(!isValid){
e.preventDefault(); //stop form from submitting
}
});
$('#submit_for_login').submit();
} |
et ça marche bien :)
Le problème vient de l'expiration de session qui ouvre une nouvelle fenêtre sur la première.
De ce que je comprend dans les logs, le serveur envoie une méthode POST :
En tout cas ça me déconnecte bien quand je rentre cette URL dans mon navigateur avec la pop-up d'expiration, et dans l'onglet où j'ai entré l'URL on trouve le message :
Citation:
{"status":true,"result":"logoutSuccessful"}
Il me semble que je ne puisse pas référencer les objets de cette fenêtre depuis mon ardoise JS, on dirait que mon ardoise s'applique à la page mère uniquement.
Je n'arrive donc pas remplir les champs (image en pièce jointe).
Pour info, on trouve dans le code source de la pop-up :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-front
tPackage_jqueryuiTheme mediumPopup ui-draggable ui-resizable" style="display: block; position: absolute; height: auto; width: 484px; top: 887px; left: 484px;" tabindex="-1" role="dialog" aria-describedby="platformLoginDialog" aria-labelledby="ui-id-1">
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" style="display: none;"></div>
<div id="platformLoginDialog" class="spotPackage_popup hidden ui-dialog-content ui-widget-content platformCurrency_EUR" style="display: block; width: auto; min-height: 150px; max-height: none; height: auto;">
<div class="popupHeader"></div>
<div class="popupBody">
<div class="formContainer">
<form class="loginForm popupForm" method="POST" action="/Login/login?lang=fr" novalidate="novalidate">
<table width="100%">
<tbody>
<tr class="emailTr">
<td class="inputTd">
<input class="popupTextInput" type="text" name="email" autocomplete="off" aria-required="true" aria-invalid="true" validationfailed="true"></input>
</td>
<td class="desc"></td>
</tr>
<tr class="mtidTr" style="display: none;"></tr>
<tr class="passwordTr"></tr>
<tr class="serverUrlTr" style="display: none;"></tr>
</tbody>
</table>
<input class="loginPopupSubmit" type="submit" autofocus="autofocus" value="Connectez-vous."></input>
</form>
<div class="errorMessage hidden"></div>
</div>
<a class="loginPopupForgotPassword" href="/appProxy/forgotPassword.html?blabla=2">
Mot de passe oublié?
</a>
</div>
<div class="popupBottom"></div>
</div> |
Le second problème est que j'aimerais capter l’événement d'expiration pour me reconnecter automatiquement.
J'ai essayer quelques méthodes mais sans succès aussi je ne m'attarderai pas dessus.
Je suis prêt à entre vos propositions svp.
Pièce jointe 190536