Spring Integration DSL OAuth на Http.outboundGateway

Я немного новичок в Spring-Integration и пытаюсь решить некоторые простые задачи. Никогда не касаясь OAuth вообще и имея службу отдыха с OAuth, я надеюсь, что кто-то может показать мне пример использования OAuth с Java DSL. В настоящее время я принимаю сообщение от Rabbit и преобразовываю его в JAVA POJO, а затем отправляю его на новый канал для отправки в службу Rest, но сначала мне нужно пройти аутентификацию на сервере. Как я уже сказал, новичок в SI и OAuth и ищет несколько указателей. Я просто не могу найти ничего по DSL с OAuth


    @Bean
    public IntegrationFlow amqpInboundGateway(ConnectionFactory connectionFactory, @Value("${rabbitmq.queue}") String queue) {
        return IntegrationFlows.from(Amqp.inboundGateway(connectionFactory, queue))
                .transform(Transformers.toJson())
                .transform(Transformers.fromJson(Call.class))
                .log(message -> message.getPayload())
                .channel("rabbitOutput")
                .get();
    }

    @Bean
    public IntegrationFlow httpPostAtms( @Value("${alemba.incident.get}") String uri) {

        return IntegrationFlows.from("rabbitOutput")
                .handle(Http.outboundGateway(uri)
                        .httpMethod(HttpMethod.POST)
                        .extractPayload(true))
                .transform(Transformers.toJson())
                .log()
                .get();

    }


person John    schedule 06.11.2019    source источник


Ответы (1)


Я не знаком с OAuth, но Http.outboundGateway() можно настроить с помощью внешнего RestTemplate, который можно настроить любым возможным способом. Пожалуйста, узнайте больше об OAuth в Spring Security: https://docs.spring.io/spring-security/site/docs/5.2.1.RELEASE/reference/htmlsingle/#oauth2. В Spring Integration просто нечего делать по этому поводу: полностью не эта ответственность проекта

person Artem Bilan    schedule 06.11.2019
comment
Спасибо за ответ. Реализация возвращала тип предоставления пароля, и на самом деле это не для реализации m2m, поэтому я использовал RestTemplate для запроса токена носителя при каждом запросе. - person John; 21.11.2019