В AWS Api Gateway Custom Authorizer, как добавить пользовательские заголовки во входной запрос на основе проверки заголовков и отправить в бэкэнд - PullRequest
0 голосов
/ 02 марта 2019

В шлюзе API AWS я использую собственный лямбда-авторизатор для проверки заголовков запросов.Мне нужно обновить существующие заголовки или добавить новые на основе результатов проверки.Ниже приведена логика лямбда-авторизатора в Java, проверка работоспособности, как и ожидалось.Независимо от обновления значений заголовка, объект события, полученный в лямбда-бэкэнде, пуст.

@Override
    public AuthPolicy handleRequest(APIGatewayProxyRequestEvent event, Context context) {
    LambdaLogger logger = context.getLogger();
    logger.log("Loading Java Lambda handler of Proxy");
    logger.log("Event Object  :  " + event.toString());

    Pattern requestIdpattern = Pattern.compile("[0-9a-f]{4}-[0-9A-Z]{3}");

    ProxyRequestContext reqContext = event.getRequestContext();
    boolean isValid = false;
    Map<String, String> headers = event.getHeaders();
    if (requestIdpattern.matcher(headers.get("x-request-id")).matches()) {
        isValid = true;
        headers.put("x-jid", UUID.randomUUID().toString());
    }
    if (isValid) {
        AuthPolicy authPolicy = new AuthPolicy("XXXX",
                PolicyDocument.getAllowPolicy("us-east-1", reqContext.getAccountId(), reqContext.getApiId(),
                        reqContext.getStage(), HttpMethod.getHttpMethod(reqContext.getHttpMethod()),
                        reqContext.getResourcePath()));
        return authPolicy;
    } else {
        AuthPolicy authPolicy = new AuthPolicy("XXXXXX",
                PolicyDocument.getDenyPolicy("us-east-1", reqContext.getAccountId(), reqContext.getApiId(),
                        reqContext.getStage(), HttpMethod.getHttpMethod(reqContext.getHttpMethod()),
                        reqContext.getResourcePath()));
        logger.log("Auth Policy Response Object  :  " + authPolicy.toString());
        return authPolicy;
    }
}

Не могли бы вы дать мне знать, как настроить авторизатор так, чтобы входной запрос в запрос шлюза API направлялся в интеграцию?сервис после успешно авторизован.

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