curl -u эквивалент в Node.js - PullRequest
0 голосов
/ 22 мая 2018

Попытка сделать

curl -u 'clientID:clentSecret' 'https://api.someapi.com'

в узле, но не могу понять, как авторизоваться.

Я пытался

"Authorization": "Bearer" + "base64(clientID:clentSecret)",

и

 "Authorization": "Basic" + "base64(clientID:clentSecret)",

и:

auth: {
    'user': 'clientID',
    'pass': 'clientSecret'
}

но ничего не получалось.Если у кого-то был подобный опыт, помогите!

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 22 мая 2018

Посмотрите на эту страницу: https://curl.trillworks.com/#node, это очень удобно.Я думаю, что вы уже получили ответ (спасибо @ Dennington-bear) из комментариев, но это стоит посмотреть, это может превратить команду curl в скрипт Node.js.Я бы рекомендовал просмотреть сгенерированный код, чтобы вы точно понимали, что он делает, но очень полезно создавать скелет кода из команды curl.

Результат (для этой команды);

var request = require('request');

var options = {
    url: 'https://api.someapi.com',
    auth: {
        'user': 'clientID',
        'pass': 'clentSecret'
    }
};

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);
0 голосов
/ 22 мая 2018

Вы можете сделать что-то вроде:

request.get('http://some.server.com/').auth(clientID, clentSecret, true);

Вы можете прочитать больше здесь

0 голосов
/ 22 мая 2018

Просто простое исправление.Вы пропустили пробел после "Basic", это должно быть "Basic", а "Bearer" должно быть "Bearer".Тогда ваша функция base64 () будет заключена в кавычки, так что это будет строка, а не значение, как вы предполагали, удалите кавычки вокруг функции, и она будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...