首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SpringOAuthResttemplate的Camel Rest api使用者

使用SpringOAuthResttemplate的Camel Rest api使用者
EN

Stack Overflow用户
提问于 2017-12-19 15:54:10
回答 1查看 2.6K关注 0票数 1

我必须从我的spring引导应用程序中调用两个rest web服务。我计划使用Camel来配置流和其他EIP用例。一些端点正在使用oAuth2身份验证。我计划使用。互联网上的所有例子要么使用restlet,CXF,要么使用camel-http。

骆驼休息器

我找不到一个只使用spring模板的示例。有没有人使用Spring实现Camel Rest消费者?

internet上的一些示例使用jetty服务器来使用rest端点。为什么您需要一个简单的rest使用者的jetty服务器?

EN

回答 1

Stack Overflow用户

发布于 2017-12-19 21:48:40

有没有人使用Spring实现Camel Rest消费者?

我不知道这一点,也不太可能在这个方向上找到什么东西,因为骆驼已经有了使用rest端点的bult-in组件。

internet上的一些示例使用jetty服务器来使用rest端点。为什么您需要一个简单的rest使用者的jetty服务器?

我认为,jetty被用作消费者,而不是生产者端点。所以你不需要“服务器”。或者您可能看到了一个使用jetty作为服务器来服务OAuth端点的示例?

如果您原谅我的方法,我建议继续使用Camel HTTP/Rest功能,使用OAuth使用REST。我找到了这个关于Gist的例子

代码语言:javascript
复制
from("direct:authService").tracing()
    .setHeader(Exchange.HTTP_PATH)
        .simple("<auth service context>/oauth2/token")
    .setHeader("CamelHttpMethod")
        .simple("POST")
    .setHeader("Content-Type")
        .simple("application/x-www-form-urlencoded")
    .setHeader("Accept")
        .simple("application/json")
    .setBody()
        .constant("grant_type=client_credentials&client_id=<client id>&client_secret=<client sec>")
    .to("https4://<remote auth service url>")
        .convertBodyTo(String.class)
    .log("response from API: " + body())
    .choice()
        .when().simple("${header.CamelHttpResponseCode} == 200")
            .unmarshal().json(JsonLibrary.Jackson, AccessResponseToken.class)
            .setHeader("jwt").simple("${body.access_token}")
            .to("direct:<some direct route>")
        .otherwise()
    .log("Not Authenticated!!!");

如果您想要停留在OAuthRestTemplate中,您可以实现一个Processor豆子来包装这些调用,并返回到您的路由上的授权令牌。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47890644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档