Bonjour,
d'avance pardon si ce post n'est pas à sa place mais je ne savais pas vraiment où le mettre.
J'ai réalisé une API en php qui repose sur l'architecture REST.Chaque ressource de mon API est accessible via son URL.On peut appliquer les 4 opérations HTTP (GET,POST,PUT,DELETE) à mes ressources.Ca fonctionne très bien, mais j'ai maintenant un gros problème.
Je veux gérer les droits sur les ressources.Car pour l'instant n'importe qui avec l'URL peut détruire ou modifier une ressource.
Pour ce qui concerne l'authentification, j'aimerai gérer deux cas:
-> un développeur crée un site client qui va utiliser les 4 opérations de mon api.Il va fournir lors de la requête (en utilisant le header par exemple), les informations qui vont lui permettre de s'authentifier
-> un utilisateur fait un GET depuis son navigateur (en tapant directement l'URL dans son browser) une boite de dialogue du type htaccess apparaît et vérifie son identité.
j'ai mis un htaccess mais comment concilier ça avec une authentifiaction php?
Je ne connais pas tres bien les header.On doit pouvoir gérer ça avec, non?
En gros j'aimerai récupérer les informations d'authentification de 2 manières différentes (excusez le nb)
Comment puis je affecter les variables ($_SERVER['PHP_AUTH_USER']) && ($_SERVER['PHP_AUTH_PW']) dans le cas d'une authentification php pour qu'il n'affiche pas la boite de dialogue.
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 //si les variables de connexions existent if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){ //on teste si elles sont fausses //si elles sont bonnes (success OK) //si elles sont fausses (message d'erreur) }else{ //on envoie le header pour afficher la boite d'authentification header( 'WWW-Authenticate: Basic realm="...."' ); header( 'HTTP/1.0 401 Unauthorized' ); echo 'Authorization Required.'; exit; }
Je ne sais pas si je suis clair
Merci d'avance pour votre aide
Partager