Узел JS self._callback.apply не является ошибкой функции - PullRequest
0 голосов
/ 12 ноября 2018
    import axios from 'axios';
import * as jwt from 'jsonwebtoken';
import { Action } from 'routing-controllers';
import { Connection } from 'typeorm';

import { env } from '../env';

export function authorizationChecker( connection: Connection): (action: Action, roles: any[]) => Promise<boolean> | boolean {
    let validationKey: any = axios.get(env.auth.jwksUri).then(response => {
        validationKey = response.data.keys[0].value;
    }).catch();
    return async function innerAuthorizationChecker(
        action: Action,
        roles: string[]
    ): Promise<boolean> {
        // here you can use request/response objects from action
        // also if decorator defines roles it needs to access the actio
        // you can use them to provide granular access check
        // checker must return either boolean (true or false)
        // either promise that resolves a boolean value
        try {
            const token = (action.request.headers.token || 
               action.request.headers.authorization).replace('Bearer ', '');
            await jwt.verify(token, validationKey);
            return true;
        } catch (e) {
            return false;
        }
    };
}

Это моя ошибка:

ошибка: [приложение] Приложение аварийно завершено: TypeError: self._callback.apply не является функцией (узел: 512) UnhandledPromiseRejectionWarning: необработанное отклонение обещания (идентификатор отклонения): 1): TypeError: Невозможно прочитать свойство '0' из неопределенного (узел: 512) [DEP0018] DeprecationWarning: Необработанные отклонения обещания устарели.В будущем отклонения обещания, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.

Я пытаюсь получить ключ проверки из определенного URL-адреса службы, нокаким-то образом (без вызова функции) он говорит, что данные ответа не определены.Кроме того, у меня появляется эта ошибка: self._callback.apply не является функцией.

Кто-то имел дело с такой ошибкой обратного вызова раньше?Я не смог найти ничего в стеке потока, касающегося моей проблемы.

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