Authentification à  l'aide d'un mot de passe

Bonjour à  tous,


 


Je suis en train de développer une application métier qui devra être sécurisée et dont certaines options ne seront accessible qu'à  une liste de personnes bien définie. La liste de ces personnes sera assez réduite, et n'évoluera pas (une trentaine de noms/matricules fixées à  l'avance parmi les 900 utilisateurs au total) et je peux donc la gérer facilement.


 


Par contre, mon problème est de vérifier que ce sont les bonnes personnes qui utilisent l'option " sécurisée ", car il serait facile de connaitre le matricule d'une personne autorisée, ou même de se tromper sur son propre matricule et de tomber au hasard sur un matricule " autorisé ". Je dois donc utiliser un mot de passe et il est hors de question de stocker les mots de passe dans l'application.


 Pour m'assurer qu'il s'agit bien des bonnes personnes, il m'est demandé d'utiliser leurs identifiants de connexion à  notre compte " planning ". Cette connexion doit se faire en saisissant un matricule, et un mot de passe. Ce qui m'intéresse ce n'est pas d'accéder au compte mais uniquement de savoir si le serveur a répondu positivement au couple Identifiant/Password. J'ai l'URL d'accès au compte qui présente une page avec Identifiant/pwd. Existe-t-il un framework qui me permet d'envoyer une requête du genre https://monurlsuivi des infos d'identification (user=toto password=xxxxx et qui me retournerait une réponse " Valide " ou " non valide " me permettant alors d'autoriser ou non l'accès à  l'option en question.


 


Merci d'avance 


Réponses

  • CéroceCéroce Membre, Modérateur
    Je ne saisis pas trop le soucis, puisque tu es consciente qu'il te faudra une API sur le serveur web...
    Il me semble qu'il y a deux options:
    - se connecter avec identifiant/mdp et ensuite appeler une API pour connaà®tre les autorisations d'accès
    - ou offrir une API pour connaà®tre les autorisations selon identifiant/mdp

    Personnellement, je partirais sur la première solution, car ça permet d'avoir le même cheminement dans tous les cas.
  • Tout d'abord, merci de t'intéresser à  mon problème Céroce, qui plus est un jour férié...


     


    Et bien précisément, mon problème est que je suis complètement nulle en serveurs. Je n'y comprends pas grand chose !


     


    Tu parles d'utiliser une API. Aurais tu un nom, ou une référence de documentation sur le sujet ? ou encore un exemple de code sur lequel je pourrais me baser (objective C) ? J'ai recherché sur la documentation Apple, et je suis tombée sur "NSURLAuthenticationChallenge", mais je ne suis pas sûre d'être sur la bonne voie ! À vrai dire, je ne sais pas trop dans quelle direction aller !


     


    Merci d'avance pour vos lumières...  o:)  


  • CéroceCéroce Membre, Modérateur
    mai 2017 modifié #4

    Tout d'abord, merci de t'intéresser à  mon problème Céroce, qui plus est un jour férié...

    À vrai dire, je devrais être en train de remplir ma déclarations de revenus, mais je procrastine, parce qu'il y a de sombres histoires de dividendes à  déclarer ;-)

    Pour revenir à  ta question, je pense que tu as déjà  vu ici le terme "webservice".
    Rien de très sorcier dans le principe, puisque c'est un site web, auquel on se connecte en HTTPS.
    Je parle d'API puisqu'il va falloir formaliser la manière d'échanger avec le serveur. Par exemple, si tu veux te connecter, il te faut au moins une URL. ex. https://monsite.com/user?login=Toto&password=sdk54op

    Tu peux utiliser NSURLSession pour ce genre de choses, c'est plutôt simple. Pour moi la difficulté n'est pas tant de communiquer avec le serveur que de gérer tous les retours qui sont asynchrones. Par exemple, tu vas chercher une liste pour l'afficher dans une UITableView. Comme le serveur met un peu de temps à  répondre, il faut l'indiquer à  l'utilisateur, et gérer le cas où le serveur ne répond pas. ça devient vite complexe.
    NSURLConnection est l'ancêtre de NSURLSession. ça fonctionne toujours, tu trouveras plus d'exemples, mais, c'est moins pratique et moins évolutif.

    J'ai vu ce bouquin ce matin, je pense qu'il est justement intéressant pour un débutant sur le sujet:
    https://leanpub.com/iosappswithrest
    Je ne l'ai pas lu. Et pour info, REST est une manière de formaliser une API.

    Une challenge accessible est d'utiliser les API de Stack Overflow pour commencer:
    https://api.stackexchange.com/docs
    Par exemple, essaie de lister les questions en rapport avec iOS.
    C'est intéressant parce que tu peux tester les API directement sur le site web; c'est lui qui compose la requête. Ensuite, tu n'as qu'à  répliquer dans ton appli.

  •  




    À vrai dire, je devrais être en train de remplir ma déclarations de revenus, mais je procrastine, parce qu'il y a de sombres histoires de dividendes à  déclarer ;-)





     


    Aà¯e, tu as prononcé un truc qui m'a donné la migraine !!!  >:D




     




    Pour revenir à  ta question, je pense que tu as déjà  vu ici le terme "webservice".

    Rien de très sorcier dans le principe, puisque c'est un site web, auquel on se connecte en HTTPS.

    Je parle d'API puisqu'il va falloir formaliser la manière d'échanger avec le serveur. Par exemple, si tu veux te connecter, il te faut au moins une URL. ex. https://monsite.com/user?login=Toto&password=sdk54op


    Tu peux utiliser NSURLSession pour ce genre de choses, c'est plutôt simple. Pour moi la difficulté n'est pas tant de communiquer avec le serveur que de gérer tous les retours qui sont asynchrones. Par exemple, tu vas chercher une liste pour l'afficher dans une UITableView. Comme le serveur met un peu de temps à  répondre, il faut l'indiquer à  l'utilisateur, et gérer le cas où le serveur ne répond pas. ça devient vite complexe.

    NSURLConnection est l'ancêtre de NSURLSession. ça fonctionne toujours, tu trouveras plus d'exemples, mais, c'est moins pratique et moins évolutif.


    J'ai vu ce bouquin ce matin, je pense qu'il est justement intéressant pour un débutant sur le sujet:
    https://leanpub.com/iosappswithrest

    Je ne l'ai pas lu. Et pour info, REST est une manière de formaliser une API.


    Une challenge accessible est d'utiliser les API de Stack Overflow pour commencer:
    https://api.stackexchange.com/docs

    Par exemple, essaie de lister les questions en rapport avec iOS.

    C'est intéressant parce que tu peux tester les API directement sur le site web; c'est lui qui compose la requête. Ensuite, tu n'as qu'à  répliquer dans ton appli.



     



     


    Merci, Céroce, je vais étudier tout çà , histoire de me coucher un peu moins bête !!!

Connectez-vous ou Inscrivez-vous pour répondre.