是否有可能使用招摇作为一个文档/测试工具使用的OAuth2的API? 我没有看到(为此事或其他地方)上招摇网站任何内容。 我见过的每一个使用或者使用API密钥,HTTP基本或饼干。
Answer 1:
我一直沿着相同的路线工作。 扬鞭将接受任何标题或URL定义的API密钥或令牌。 添加验证助手API和应用程序是一个标准的做法。
端Oauth确实需要一个HTML审查和或登录开始握手aouth过程。 这意味着,一个招摇的API将需要支持Web界面进行标准登录和范围的认可。 滚动的OAuth成招摇结果在几个逻辑回路,其长期不容易支持。
我们正在探索一种不同的方法是让API处理和存储访问令牌用于许多不同的OAuth提供者的选择; GitHub上,Twitter和Facebook。 这可能导致登录循环为好。
Answer 2:
晚在这里聚会,但OAuth的支持,现在是在1.3.0-RC1 招摇核心 。 它可以支持OAuth的JavaScript库在昨天公布招摇-JS 。 最后, 招摇的UI是在开发阶段,很快就会有一个隐含的OAuth和服务器流量。
Answer 3:
所述blog's张贴http://developers-blog.helloreverb.com/enabling-oauth-with-swagger/通过@fehguy引示出的Java代码的示例包括在由生成招摇JSON授权数据,但是我的问题是它应该包括使用Spring,JAXRS和CXF应用程序。 我didn't发现它在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
有必要包括一个Bean了一个名为Bootstrap类(延伸的HttpServlet)和静态块!
观点:也许这将是更多的“春天友好”从休息类,而不是在servlet的静态块由SwaggerConfig扫描注释加载。
Answer 4:
@Configuration
public class SwaggerConfiguration {
@Bean
@DependsOn("jaxRsServer") //org.apache.cxf.endpoint.Server bean
public ServletContextInitializer initializer() {
return new ServletContextInitializer() {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
BeanConfig scanner = (BeanConfig) ScannerFactory.getScanner();
Swagger swagger = scanner.getSwagger();
servletContext.setAttribute("swagger", swagger);
}
};
}
@Bean
public Feature swaggerFeature() {
XSwagger2Feature feature = new XSwagger2Feature();
return feature;
}
@Bean
public FilterRegistrationBean swaggerApiFilter() {
ApiOriginFilter filter = new ApiOriginFilter();
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(filter);
registrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return registrationBean;
}
public static class XSwagger2Feature extends Swagger2Feature {
@Override
protected void addSwaggerResource(Server server) {
super.addSwaggerResource(server);
BeanConfig scanner = (BeanConfig) ScannerFactory.getScanner();
Swagger swagger = scanner.getSwagger();
swagger.securityDefinition("api_key", new ApiKeyAuthDefinition("api_key", In.HEADER));
swagger.securityDefinition("petstore_auth",
new OAuth2Definition()
.implicit("http://petstore.swagger.io/api/oauth/dialog")
.scope("read:pets", "read your pets")
.scope("write:pets", "modify pets in your account"));
}
}
}
Answer 5:
从IOdocs mashery似乎支持OAuth的,但它是从招摇(Redis的,节点等)完全不同。 它可在github上 。