2017-01-18 4 views
2

Я работаю с Lyft API и пытаюсь выяснить, как получить токен доступа с помощью аксиом с помощью сценария узла.Получение токена доступа с помощью axios

я могу вручную получить маркер доступа с помощью почтальона, заполнив форму, как это:

Getting token inside of Postman

Когда я заполняю форму, я могу получить новый маркер от LYFT успешно.

Я пытаюсь перевести это на запрос POST с помощью AXIOS, делая это:

var axios = require('axios'); 
var data = { 
"grant_type": "client_credentials", 
"scope": "public", 
"client_id": "vaf7vX0LpsL5", 
"client_secret": "pVEosNa5TuK2x7UBG_ZlONonDsgJc3L1" 
}; 
var url = "https://api.lyft.com/oauth/token"; 
    return axios.post(url, data) 
    .then(function(response){ 
     console.log(response.data) 
    }) 
    .catch(function (error) { 
     console.log(error); 
    }); 

Когда я запускаю сценарий, я получаю эту ошибку:

{ error_description: 'Unauthorized', error: 'invalid_client' } 

Что я отсутствующий из моего запроса на аксиому? Любая помощь будет оценена!

ответ

4

Согласно документам от Lyft (https://developer.lyft.com/docs/authentication), вам необходимо использовать HTTP Basic auth.

var axios = require("axios"); 

axios.request({ 
    url: "/oauth/token", 
    method: "post", 
    baseURL: "https://api.lyft.com/", 
    auth: { 
    username: "vaf7vX0LpsL5", 
    password: "pVEosNa5TuK2x7UBG_ZlONonDsgJc3L1" 
    }, 
    data: { 
    "grant_type": "client_credentials", 
    "scope": "public"  
    } 
}).then(function(res) { 
    console.log(res); 
}); 

Днем кодирования :)

! ГЛАВНОЕ!
Я настоятельно рекомендую вам сменить secret_id и client_secret как можно скорее, потому что они не являются общедоступными, если вы используете их для важного проекта или чего-то подобного.

+1

Спасибо, сработало! Кроме того, я просто обновил учетные данные, спасибо за отзыв безопасности – Mike

Смежные вопросы