Управление токенами NodeJs для потребления остальных API - PullRequest
0 голосов
/ 24 февраля 2019

Я создаю приложение nodejs, которое передает данные в остальные API.Для того, чтобы остальные API потребовали токен аутентификации.

Для этого я создал класс HandleAuth.В этом классе Handle Auth у меня есть 2 асинхронных метода, которые получают 2 разных токена.Затем эти токены используются для отправки запроса конечным точкам API.

var request = require('request')
'use strict'

class HandleAuth {
    constructor(){

    }

    async getReqToken(options){
        return new Promise((resolve, reject) => {
            request(options, function (err, resp, body){
                if(!err)
                    resolve(body)
                else
                    reject(err)
            })
        })
    }

    async getRespToken(){
        return new Promise((resolve, reject) => {
            request(options, function (err, resp, body){
                if(!err)
                    resolve(body)
                else
                    reject(err)
            })
        })
    }
}

Я хочу сделать этот Auth доступным во всем приложении.Кроме того, я также хочу получить оба токена, как только будет создан объект этого класса.Как мне этого добиться?

У меня возникли следующие проблемы, которые я вызываю в конструкторе оба метода.Проблема: конструктор не может ждать.

В настоящее время каждый раз, когда я хочу сделать новый запрос, я получаю новый токен.Это расточительно, потому что я знаю, что оба токена действительны в течение 1 часа.

Как мне этого добиться?Мне нужен почти единственный синглтон (который я знаю в узле, который мы получаем через кеширование, когда нам требуется файл), который получает оба токена сразу после его создания и делает их доступными для использования через любую часть моего приложения, которую я желаю.

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