IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Authentification avec javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 8
    Par défaut Authentification avec javascript
    Bonjour à tous,

    Cela fait déjà plusieurs jours que je cherche une solution a mon problème.
    Est-il possible à partir d'un code javascript mis en local, remplir le champs Identifiant et Mot de passe puis "cliquer" sur Connexion du site web https://cas.univ-lyon1.fr/cas/login ?
    J'ai déjà testé plusieurs code mais rien ne marche.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    deux sites hébergés sur deux serveurs différents ne peuvent pas s'échanger d'informations. Que veux-tu faire précisément ?

  3. #3
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    tout comme Auteur, je trouve la question plutôt floue.


    tu veux avoir un script sur ta machine qui rempli les champs ?
    si c'est bien ça, tu utilises une extension user-script.

    et tu fais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.forms['login_form'].elements['username'].value = 'ton_id';
    document.forms['login_form'].elements['password'].value = 'ton_pass';
    document.forms['login_form'].submit();

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 8
    Par défaut
    Tout d'abord merci pour les réponses.
    On a crée une application android à partir duquel on voudrait se connecter sur le site de notre université. Vu que le site de notre université utilise la méthode CAS de jasig, on ne peut pas s’authentifier avec la méthode classique d'android. C'est pour cela que j'ai pensé utiliser javascript pour que quand l'étudiant marque son nom d'utilisateur et son mot de passe, ces deux valeur soit renvoyé dans les cases "Identifiant" et "Mot de passe" du site et ensuite on doit "cliquer" sur connections pour finaliser l'authentification.
    Est-ce possible?

  5. #5
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    j'ignore si tu peux injecteur du javascript dans une page via une app android. (probablement) et donc si tu as accès au document, il te suffit d'utiliser les 3 lignes de code que je t'ai proposé.


    mais à mon avis il doit y avoir encore plus simple sans générer de page, avec une app. tu devrais être assez libre que pour envoyer une requête au serveur, récupérer le variables de session (probablement généré par ton jasig) et envoyer une seconde requête au serveur avec tes identifiants et cette variable.

    je ne m'y connais pas du tout en application, je te conseillerai donc de mander de l'aide sur le forum android.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 8
    Par défaut
    Je vais essayer de voir sur le forum android, mais en faite dans notre application on a un webview (c'est a dire c'est comme une sorte de navigateur web) à travers duquel je pensais exécuter le code de javascript.
    J'ai pas très bien compris la méthode avec document "document.forms['login_form'].elements".
    Est-ce que ce dernier permet de créer une sorte de bot?
    Ce qu'on a c'est juste une URL, un username et un password.

  7. #7
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par Novarmenia Voir le message
    Je vais essayer de voir sur le forum android, mais en faite dans notre application on a un webview (c'est a dire c'est comme une sorte de navigateur web) à travers duquel je pensais exécuter le code de javascript.
    J'ai pas très bien compris la méthode avec document "document.forms['login_form'].elements".
    Est-ce que ce dernier permet de créer une sorte de bot?
    Ce qu'on a c'est juste une URL, un username et un password.
    je ne suis pas spécialiste dans ce domaine, je suis plus habitué aux sites webs, donc j'essaie tant bien que mal de t'aider avec mes faibles moyens. (peut-être qqn d'autre pourra mieux t'aider).

    mais si tu peux exécuter du javascript dans la page, tu peux simplement récupérer les éléments du document et donc du formulaire et y injecter tes valeurs. une fois cela fait, déclencher la validation (submit) du formulaire.

    en regardant le code source de la page https://cas.univ-lyon1.fr/cas/login , tu peux remarquer que le formulaire porte comme attribut "name" la valeur "login_form" et que le champs où tu tapes ton ID porte pour valeur de name "username".

    donc on peut y accèder de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['login_form'].elements['username']

    tu peux tester ce que je dis en te rendant sur la page https://cas.univ-lyon1.fr/cas/login
    à l'aide de n'importe quel navigateur et en tapant dans la barre d'adresse ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:document.forms['login_form'].elements['username'].value = 'ton_id';void 0;

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Bonjour,

    Nous avons eu besoin de faire quelque chose de similaire pour gérer une connexion automatique à un serveur d'authentification CAS.

    Une des solutions (je crois qu'il en existe plusieurs sur le wiki de JASIG/CAS) est d'utiliser javascript au niveau de la page de connexion de ton serveur CAS.

    Je m'explique, il faut que tu fournisses les paramètres de connexion (login/password) en paramètres à la page de login de ton serveur CAS. Sur cette page, tu peux récupérer ces paramètres et utiliser un javascript qui va remplir automatiquement les champs et soumettre le formulaire.

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <%
            if (request.getParameter("username")!=null && request.getParameter("password")!=null){
    %>
                    <script type="text/javascript">
                            $("#username").val("<%= request.getParameter("username") %>");
                            $("#password").val("<%= request.getParameter("password") %>");
    <%
            if (request.getParameter("lt")==null)
            {
    %>
                            $("form")[0].submit();
    <%
            }
    %>
                    </script>
    <%
            }
    %>
    C'est un script jquery (bouuuuuh , juste pour remplir un champs et soumettre un formulaire, mais c'est tellement plus rapide ), mais c'est tout à fait possible d'utiliser du script sans librairie javascript.

    De cette façon, si tu fournis des paramètres "username" et "password" à la page, il y a une connexion automatique, sinon, c'est l'utilisateur qui doit remplir manuellement les champs.

    La ligne avec le paramètre "lt" est lié au ticket généré pour valider la session, et je crois que c'est pour éviter que ça tourne en boucle (le code a été fait il y a un moment déjà et ma mémoire commence à flancher...).

    A+

Discussions similaires

  1. Authentification avec javascript
    Par Azumir dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/07/2008, 16h25
  2. Réponses: 16
    Dernier message: 18/10/2006, 22h52
  3. Réponses: 2
    Dernier message: 10/05/2006, 07h50
  4. Lien ASP avec javascript
    Par RATIER dans le forum ASP
    Réponses: 3
    Dernier message: 15/07/2004, 08h54
  5. Réponses: 4
    Dernier message: 27/04/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo