OAuth2 in-mule连接器

OAuth2 in-mule连接器,oauth,mule,connector,Oauth,Mule,Connector,我正在尝试使用mule connector连接到第三方。访问此第三方应用程序的安全方案是OAuth2。我寻求帮助将正确的配置放置到位。以下是我的mule(3.5.2)流程: 我是Oauth新手,有以下问题: 1) 这里的回调url是什么,我应该用什么配置它。我能在那里用点什么吗?这个url需要在internet上访问还是可以使用localhost? 2) 如何测试此配置?我通过点击http入站url(即http://localhost:8082/testoauth)来实现这一点,我得到的输出

我正在尝试使用mule connector连接到第三方。访问此第三方应用程序的安全方案是OAuth2。我寻求帮助将正确的配置放置到位。以下是我的mule(3.5.2)流程:


我是Oauth新手,有以下问题:

1) 这里的回调url是什么,我应该用什么配置它。我能在那里用点什么吗?这个url需要在internet上访问还是可以使用localhost? 2) 如何测试此配置?我通过点击http入站url(即http://localhost:8082/testoauth)来实现这一点,我得到的输出是methodnotallowed(405)错误。 3) 若我点击了回调url,即localhost:8082/callback,我将得到NoAuthorizationCodeFound异常。如何进行? 4) 我如何知道访问令牌是否正确生成? 5) 我是否需要专门存储访问令牌以备将来使用

当我点击url http:/localhost:8082/testoauth时,我得到了methodnotallowed的错误。我得到的响应是{“code”:“MethodNotAllowedError”,“message”:“get不允许”}。这是否表明我获取访问权限的方式是错误的,还是意味着其他什么? 我被困在这一点上。请帮忙

请说明应用OAuth配置访问受保护资源的过程。

1)回调URL用于OAuth提供程序在用户授权应用程序后重定向回您的应用程序。连接器将自动生成入站端点和 HTTP回调,并以编程方式将URL传递给服务提供商。 然后连接器将侦听此地址上的回调

2) 调用/testoauth需要通过浏览器中的HTTP GET,这样它就可以重定向到服务提供商进行授权

Localhost可以通过浏览器正常工作

3) 直接调用回调url没有任何用处。服务提供商可以调用以返回到您的应用程序,并使用授权代码,该代码将在对其API的后续请求中使用

4) 尝试在授权后记录令牌:

<logger level="INFO"
message="The user identification is #[flowVars[
'OAuthAccessTokenId']]" />

注意这不是OAuth访问令牌本身,而是包含OAuth信息(包括访问令牌等)的objectstore条目Id

5) 不,Mule用它的内部对象存储来处理这个问题。但是,这可以定制到其他提供者和持久性机制等,以便令牌可以在Mule实例等之间共享。请参阅

不喜欢自我推销,但第4章介绍了这些问题

此外,Mule文件:


感谢Ryan对我的每个问题的详细解释。然而,对于如何在不涉及浏览器的情况下使用OAuth,我有点困惑。例如,我的批处理作业需要调用受OAuth2保护的第三方API。你能提供任何关于如何实现相同的mule流程的示例吗?我已经为第2点添加了更多细节。请帮忙。我几乎被困在这一点上。你能分享你的连接器代码吗?这就是魔法发生的地方。我在这里回答了你的新问题:。您正在使用客户端凭据流,因此不应使用@OAuth2注释。您将不得不使用连接管理自行启动。
<logger level="INFO"
message="The user identification is #[flowVars[
'OAuthAccessTokenId']]" />