Bonjour à tous!

J'ai lu des toooonnes de choses, mais je n'ai pas grand chose trouvé de concret.

J'explique...

Situation actuelle
Web service PHP 5.3 client / server (Sans importance, mais Codeigniter)
Librairies NuSoap à jour
Authentication basic fonctionne nickel.

Ce que je veux
Alors, j'ai déjà utiliser des digest authentications coté client, mais jamais coté serveur. Comment dois-je faire ?

Mes différentes pistes envisagées
- Trouvé la solution propre
- Bidouillé l'authentication basic pour en faire quelque de plus "sécurisé" qu'un mot de passe en clair.
- J'ai un vague souvenir d'une authentication htaccess, ca vous dit quelque chose?

Méthode Digest/username token client side
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$username = 'USER';
$password = 'PASS';	
 
$d_CreationDate = gmdate("Y-m-d\TH:i:s").'Z';
 
$objKey = new XMLSecurityKey(XMLSecurityKey::AES256_CBC);
$s_Nonce = $objKey->generateSessionKey();
$s_Password = base64_encode(sha1($s_Nonce.$d_CreationDate. $password, true));
 
$s_Header ='<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken wsu:Id="UsernameToken-8" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:Username>'.$username.'</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">'.$s_Password.'</wsse:Password><wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">'.base64_encode($s_Nonce).'</wsse:Nonce><wsu:Created>'.$d_CreationDate.'</wsu:Created></wsse:UsernameToken></wsse:Security>';
 
$soap_Client = new nusoap_client('URL');
$soap_Client->setHeaders($s_Header);
Voila... Merci de me donner un tit coup de main pour le coté serveur... Ne fut-ce que pour explorer des pistes parce que là, j'ai épuisé mes ressources...

Merci M'sieurs'Dames