我正在使用 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 验证器的方法是正确的。但是,我对此不确定,并希望在整个场景中获得第二个建议。
谢谢你。