【问题标题】:What is the best approach to handle multiple security schemes in Mule flow using RAML?使用 RAML 在 Mule 流中处理多个安全方案的最佳方法是什么?
【发布时间】:2016-03-23 15:26:46
【问题描述】:

我正在使用 RAML 创建一个 Web 服务 API。

我创建了具有两种安全方案的 RAML

  • OAuth 2.0
  • 自定义

我的第一种方法是根据请求参数处理授权,我在请求中发送一个特殊参数,然后将授权任务委托给任一授权引擎。但它不起作用,当向 OAuth 服务器发出请求时,它抛出了Null Pointer Exception
然后我才知道不同授权方案的授权请求应该有不同的 URI,例如如果发出了 oAuth 请求,则 URI 应该类似于 /api/oauth2/authorize?parameters 而对于其他方案来说,oauth 1.0 可以是 /api/oauth1/authorize?parameters

为了实现这一点,我添加了两个具有不同 URI 模式的 APIkit 路由器流。

附图中的第一个 APIKit 流程用于自定义授权,第二个用于 OAuth。从图中可以看出,我在第二个流程中的 APIkit 路由器之前添加了 OAuth 验证器。

我想知道将 OAuth 验证器放在那个地方是否是正确的方法,以便可以对每个请求进行身份验证?或者 OAuth 验证器应该是每个资源流的第一个元素,以便在发出请求后 OAuth 验证对单个资源的请求。我还在某处读到过,在 OAuth 中,首先对请求进行身份验证,然后允许访问受保护的资源,在这种情况下,我猜我在 APIKit 路由器之前添加 OAuth 验证器的方法是正确的。但是,我对此不确定,并希望在整个场景中获得第二个建议。

谢谢。

【问题讨论】:

标签: api oauth-2.0 mule restful-authentication raml


【解决方案1】:

首先您需要使用此链接安装安全包 http://security-update-site-1.4.s3.amazonaws.com

然后您可以继续在一个端口上配置生成 OAuth 访问令牌,然后在访问您的 API 服务时将该 access_token 作为查询参数传递。 OAuth 连接器放置很好,它应该放置在请求被路由到相应流之前。我希望它会有所帮助。

【讨论】:

  • 对不起阿迪亚,但这不是我所要求的。请再次阅读问题并回复。谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-05-26
  • 2011-02-26
  • 1970-01-01
  • 2015-02-03
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多