Authentification proxy en C

HaPouu Messages postés 4 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 23 mars 2009 - 21 mars 2009 à 14:37
HaPouu Messages postés 4 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 23 mars 2009 - 23 mars 2009 à 12:20
Salut à tous,

En faite je viens vers vous car j'ai pas trouvé de réponse sur le net (c'est rare pourtant :().
J'ai meme lu les RFC sur le protocole HTTP !
Donc je voulais quelques précisions par rapport à l'authentification proxy.
J'ai codé un proxy en C, les redirections de requêtes en GET marche nickel et tout.
Mais maintenant j'aimerais demandé au client (navigateur) de s'authentifier avant de procédé a des requêtes. (le proxy et le client sont sur la meme machine)
Pour être plus clair, lorsque j'ouvre mon navigateur il faut demander un login/pass avant d'afficher la page.

J'ai réussi à afficher le prompt me demandant de me logguer mais justement j'voyais pas quoi comme identifiants rentrés.

Car justement je n'ai pas saisi la réponse a renvoyer au navigateur.

Merci d'avance et bonne journée :)

PS:
C'est au niveau de "realm" que je ne vois pas ce qu'il faut indiquer.

HTTP/1.0 407 Proxy Authentication Required\r\n
Content-Type: text/html\r\n
Proxy-Authenticate: Basic realm=Proxy Authentication (user/passwd)\r\n\r\n

6 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
22 mars 2009 à 00:28
euh pas bien saisi ce que tu voulais mais si c'est une explication sur le rôle du champ realm :http://httpd.apache.org/docs/1.3/howto/auth.html
en fait c'est pour le cache du navigateur, pour que l'utilisateur n'ai pas à re-rentrer le login à chaque nouvelle requête : c'est juste un identifiant pour retrouver login & password dans le cache. A priori n'importe quoi pourrait faire l'affaire.
0
HaPouu Messages postés 4 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 23 mars 2009
22 mars 2009 à 02:33
Ah ok merci de ta réponse, je vais regarder de plus près le lien que tu m'as passé.

Et donc si je me permets, comment pourrais je forcer l'utilisateur a se logguer ?
Mon idée était d'envoyer d'entrer, c'est-à-dire à l'ouverture du navigateur une réponse HTTP 407 pour demander une authentification.

Merci d'avance.
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
22 mars 2009 à 13:09
ben oui c'est ça, t'envoies un 407 (ou 401 ça change pas grand chose je suppose); l'utilisateur te renverra alors une nouvelle requête incluant un champ Authorization que tu pourras vérifier (détails RFC2617 page 18 et autres)
0
HaPouu Messages postés 4 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 23 mars 2009
22 mars 2009 à 15:16
Oui mais justement, je ne reçois rien en retour de la validation du prompt.
Le serveur est en attente d'une nouvelle requête.
J'ai bien fais pourtant comme dans les exemples donnés par les RFC.
J'ai d'ailleurs regardé sur un site traduisant un grand nombre de RFC, mais ca marche pas :(

Merci d'avance.

http://abcdrfc.free.fr/rfc-vf/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
22 mars 2009 à 17:29
D'accord. Malheureusement je vois pas quoi te dire...


As-tu essayé avec une réponse 401?
0
HaPouu Messages postés 4 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 23 mars 2009
23 mars 2009 à 12:20
Oué j'ai essayé aussi avec l'erreur 401.
Mais j'ai rien trouvé d'autre à ce sujet, bizarre quand même.
Ca me semblait être quelque chose .. heu comment dire ? "Plus demandé ?".
Mais bon merci de ton aide en tout cas.
J'ai opté pour créer un formulaire dans le corps de la réponse HTTP/1.0 200 OK.
Mais peut-être tu peux m'aider, car en faite quand j'envois cette réponse le chargement ne se stoppe pas ?

Merci vraiment pour tes réponses en tout cas.   
0