如何在OAuth API中使用swagger?

时间:2013-02-14 21:22:20

标签: swagger

是否可以使用swagger作为使用OAuth2的API的文档/测试工具?我没有在招摇网站(或其他任何地方)看到任何东西。我见过的每种用法都使用API​​密钥,HTTP基本或cookie。

5 个答案:

答案 0 :(得分:5)

我一直在努力。 Swagger将接受任何标头或URL定义的api密钥或令牌。向api和app添加验证帮助程序是一种标准方法。

Oauth确实需要HTML审核和/或登录以启动握手过程。这意味着swagger api需要支持Web界面以进行标准登录和范围接受。将oauth转变为招摇会导致一些逻辑循环,长期来看并不容易支持。

我们正在探索的另一种方法是让api处理并为多个不同的oauth提供者存储访问令牌; GitHub,Twitter和Facebook。这也可能导致登录循环。

答案 1 :(得分:5)

派对迟到了,但oAuth支持现在是swagger-core的1.3.0-RC1。昨天在swagger-js发布了支持oAuth的javascript库。最后,swagger-ui处于开发阶段,很快就会有oAuth隐式和服务器流。

答案 2 :(得分:3)

@fehguy引用的博客文章http://developers-blog.helloreverb.com/enabling-oauth-with-swagger/显示了一个java代码示例,其中包含swagger生成的json中的授权数据,但我的问题是它应该包含在应用程序中的Spring,JAXRS和CXF。我没有在CXF + JAXRS示例中找到它:https://github.com/swagger-api/swagger-core/tree/master/samples/java-jaxrs-cxf

然而,寻找更多,并得到了!

https://github.com/swagger-api/swagger-core/blob/master/samples/java-jersey-spring/src/main/resources/beans-asset-ws.xml

必须包含一个名为Bootstrap(扩展HttpServlet)的类和一个静态块的Bean!

意见:也许在Rest类中使用SwaggerConfig Scanner的注释加载“弹簧友好”,而不是servlet中的静态块。

答案 3 :(得分:0)

el6

答案 4 :(得分:-1)

来自mashery的IOdocs似乎支持OAuth,但它与swagger(redis,node等)完全不同。它可以在github上找到。