Мне нужна помощь при попытке вызвать сторонний API с аутентификацией с сервера узла - PullRequest
1 голос
/ 02 марта 2020

Я пытаюсь вызвать 2 сторонних apis. 1-й для входа и получения токена на предъявителя и 2-й для отправки сообщения. 1-й работает отлично, и я получаю токен. но когда я пытаюсь вызвать второй API для отправки сообщения, это не удается, вероятно, потому что я не знаю, как установить полученный токен во 2-м API

, вот мой код

var myJSONObject = {
    "email": auth[0],
    "password": auth[1]
};
req.post({
    url: "{{server_url}}/auth/login",
    method: "POST",
    json: true,
    body: myJSONObject
}, function (error, res, body){
    if(error){
        console.log(error.message);
    } else {
        var myJSONObject1 = {    
            "category":"SYSTEM",
            "type": "ALERT",
            "keywords":"FUNCTION|createSomethingLvl1",
            "status":"UNREAD",
            "from": "tenantadmin@tenantadmin.com",
            "to": "someemail@gmail.com",
            "subject": "Some nice subject",
            "body": "Some detailed body that contains information that informs the person" 
     };

        req.post({
            url: "{{server_url}}/api/message",
            method: "POST",
            headers: {
                "Authorization": res.body.access_token,
                "Content-Type": "application/json"
                },
            json: true,
            body: myJSONObject1
        }, function (err, res1, body){
            if(error){
                console.log(err.message);
            } else {
                console.log(res1.body); 
            }                    
        });
    }
});

1 Ответ

1 голос
/ 02 марта 2020

Если это «типичный» http-токен-носитель, то перед токеном нужно слово «Bearer», например:

"Authorization": "Bearer " + res.body.access_token,

Примеры токенов-носителей можно увидеть в OAuth RF C 6750 , где она показывает грамматику как:

b64token    = 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"="
"Bearer" 1*SP b64token

И вот пример из API Google c:

Authorization: Bearer AbCdEf123456

И еще один пример из OAuth do c:

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