我正在使用RAML创建一个webservice API。
我用两个安全方案创建了RAML
我的第一种方法是根据请求参数处理授权,其中我在请求中发送了一个特殊的参数,然后将授权任务委托给任何一个授权引擎。但是它没有工作,当向OAuth服务器发出请求时,它会抛出Null Pointer Exception。
然后,我意识到对不同授权方案的授权请求应该有不同的URI,例如,如果提出了oAuth请求,那么URI应该类似于/api/oAuth2?参数,而对于其他方案,例如OAuth1.0可以是/api/ can 1/授权参数。
为了实现这一点,我添加了两个具有不同URI模式的APIkit路由器流。

附加映像中的第一个APIKit流用于自定义授权,第二个流用于OAuth。从图像中可以看到,我在第二个流中的OAuth路由器之前添加了APIkit验证器。
我想知道这是否是将OAuth验证器放在那个位置的正确方法,这样每个请求都可以进行身份验证?或者OAuth验证器应该是每个资源流的第一个元素,以便在发出请求之后,OAuth验证对单个资源的请求。我还在某个地方读到,在OAuth中,首先对请求进行身份验证,然后允许访问受保护的资源,在这种情况下,我想我在OAuth路由器之前添加OAuth验证器的方法是正确的。但是,我对此并不确定,并希望在整个场景中得到第二个建议。
谢谢。
发布于 2015-12-21 13:18:32
首先,您需要使用此链接http://security-update-site-1.4.s3.amazonaws.com安装安全包。
然后,您可以继续在一个端口上配置OAuth访问令牌生成,然后在按下您的access_token服务时,将该access_token作为查询参数传递。OAuth连接器的放置很好,它应该被放置在钻孔请求被路由到各自的流程。我希望这会有所帮助。
https://stackoverflow.com/questions/34329882
复制相似问题