Laravel obtenir des en-têtes de requête
Je suis en utilisant le FACTEUR d'envoyer une requête GET dans l'api avec un en-tête contenant l'Autorisation.
Je sais que les données d'en-tête fonctionne parce que si ce n'est pas la route renvoie une erreur 401.
Je voulais obtenir l'Autorisation d'en-tête comme suit:
$access_token = Request::header('Authorization');
Mais il a remarqué qu'elle retourne NULL.
J'ai donc essayé d'attraper les valeurs avec:
die(var_dump(Request::header()));
Et a remarqué qu'il ne contient pas d'en-tête d'Autorisation. Juste hôte à cookie en-têtes.
mise à jour
Devriez obtenir Authorization: Bearer ACCESS TOKEN
Vous devez vous connecter pour publier un commentaire.
Ce FACTEUR Version utilisez-vous?
Êtes-vous en local sur votre machine ou serveur géré, certaines sociétés d'hébergement ne permettent pas l'AUTORISATION d'en-TÊTE.
.htaccess modification
curl -H "Authorization: Bearer <ACCESS_TOKEN>" http://localhost
, juste pour être sur le côté sûr que ce n'est pas une question de FACTEUR.La réponse de dschniepp est bon, mais j'ai des problèmes avec ce trop. Vous devez faire deux choses:
Dans le premier point, vous devez vérifier si le "mod_rewrite" module est disponible par le biais de php_info fonction dans un autre fichier php. Ensuite, s'il est disponible, vous devez l'activer, cela dépend de la configuration de votre serveur, dans mon Nitreux boîte, j'ai ajouté ces lignes dans mon httpd.fichier conf:
Ou vous pouvez activer le module dans le .fichier htaccess trop:
Puis dans le même .fichier htaccess situé dans le dossier public dans la racine de l'application laravel, vous devez ajouter ces lignes:
Ces lignes a fonctionné pour moi. Votre .fichier htaccess devrait ressembler à ceci:
Et c'est tout, vous devez avoir l'Autorisation d'en-tête de la Demande::header() tableau. Juste pour clarifier ces est un problème avec Apache, pas avec Laravel lui-même.
Dans Laravel 5.5 vous pouvez lire les éleveurs en utilisant apache_request_headers simplement la lire dans votre controller, par les lignes suivantes
Assurez-vous d'avoir ajouté utilisation Éclairer\Http\Request; dans votre contrôleur
De poster cela ici comme il l'a résolu mon problème. Ceci s'applique pour les sous domaines, mais peut évidemment être ajusté pour la plaine de domaines. Appliquer ceci dans mon fichier de routes en haut.