web-dev-qa-db-fra.com

Que signifie '--user' avec curl

Je travaille avec une API et je dois envoyer une demande POST. Je sais comment définir un en-tête (-H) et (-d) est le corps, mais qu'est-ce que "- -utilisateur".

Si je soumets ceci avec Postman, ou dans un éditeur de texte avec axios ou simplement XMLRequest, où dois-je l'ajouter?

Les docs disent que c'est pour l'authentification http régulière.

curl -X POST -H "Content-Type: application/json" \
     --user "<client_id>:<client_secret>" \
     -d '{"grant_type": "client_credentials", "scope": "public"}' \
     ...
18
jro

--user paramètre dans curl utilisé pour l'authentification du serveur. Donc, si vous ne définissez pas le type d'authentification via d'autres paramètres tels que --digest ou --negotiate, cela signifie le paramètre USER pour l'authentification de base http, il peut également être combiné avec: le bloc PASSWORD pour définir également un mot de passe. La réponse complète à votre question dépend du type d'authentification utilisé derrière l'API à laquelle vous envoyez la demande, et peut-être que curl ne serait pas suffisant, car il prend en charge un ensemble limité de schémas d'authentification ...

11
Alexey Melezhik

Spécifiez le nom d'utilisateur et le mot de passe à utiliser pour l'authentification du serveur. Si vous spécifiez simplement le nom d'utilisateur, curl vous demandera un mot de passe.

Si votre demande curl ne contient aucun utilisateur, le serveur qui requiert une authentification renvoie un code de réponse 401 et un en-tête WWW-Authenticate: qui répertorie toutes les méthodes d'authentification prises en charge par le serveur.

< HTTP/1.1 401 
< WWW-Authenticate: Basic realm="oauth2/client"

Vous saurez alors que le serveur utilise l'authentification de base

Vous pouvez ajouter --basic pour dire explicitement que c'est l'authentification de base

Veuillez vous référer à authentification HTTP pour plus d'informations

3
sendon1982