3

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

我用两种安全方案创建了 RAML

  • OAuth 2.0
  • 风俗

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

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

在此处输入图像描述

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

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

谢谢你。

4

1 回答 1

-1

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

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

于 2015-12-21T13:18:32.857 回答