我创建了一个新的Web Api项目,添加了ASP.NET标识并配置了OAuth,如下所示:
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
};
谢了。
另外,我应该说Swagger文档对我所有的控制器都适用,只是我忽略了一个明显的方法--如何登录。
ApiExplorer不会自动为您的endpoint生成任何信息,因此您需要添加自定义DocumentFilter以便手动描述令牌endpoint。
https://github.com/domaindrivendev/swashbuckle/issues/332:
class AuthTokenOperation : IDocumentFilter
{
public void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer)
{
swaggerDoc.paths.Add("/auth/token", new PathItem
{
post = new Operation
{
tags = new List<string> { "Auth" },
consumes = new List<string>
{
"application/x-www-form-urlencoded"
},
parameters = new List<Parameter> {
new Parameter
{
type = "string",
name = "grant_type",
required = true,
@in = "formData"
},
new Parameter
{
type = "string",
name = "username",
required = false,
@in = "formData"
},
new Parameter
{
type = "string",
name = "password",
required = false,
@in = "formData"
}
}
}
});
}
}
httpConfig.EnableSwagger(c =>
{
c.DocumentFilter<AuthTokenOperation>();
});
我们在我们的泽西应用程序中使用了@Role允许注释来限制用户对应用编程接口某些部分的访问。我们如何在SwaggerUI中显示这些信息? 到目前为止,我已经用@ApiOperation注释了方法以显示in/out参数,并尝试使用@Authorization/@AuthorizationScope,但我只为我们不使用的oauth2显示了它。最接近out case的是ApiKeyAuthDefiniti
我正在使用Swagger创建一个文档页面,我想自动添加从正确的调用中收到的访问令牌。我试着用它 接收和存储令牌,以及 但是,要通过标头将其传递到后续请求,这只适用于一次调用,之后令牌将恢复为<code>null</code>。 如何防止值被还原?
我有一个java项目(tomcat webapp)和一些REST Api。我想为他们生成大摇大摆的文档。我从本教程(github)开始。我没有maven我们使用蚂蚁任务。我加入了swagger-annotations-1.5.0。jar和所有随swagger jaxrs jar 1.5.0版本附带的jar(如果有用的话,我可以包括一个完整的列表),我已经注释了一些方法,我有一个如下的配置类: }
我成功地在Spring boot应用程序上应用了swagger ui,并能够使用http://localhost:8181/swagger-用户界面。html 过了一段时间,我继续写我的申请,现在它不见了。我没有拿走任何罐子。我添加了一个应用程序启动类,当我在Wildfly 10上部署时,该类用于在启动时加载一些东西。 即使我尝试用tomcat将其作为Spring boot应用程序运行,也无法运行
我有这个控制器和操作方法: 下面是模型: 我需要使用<code>Location</code>作为URL中的查询参数名称,以便按预期到达endpoint。 例如< code > http://localhost/API/Appointment/Company/available slots?位置=SYD 然而,当我查看Swagger页面时,该参数被称为<code>Model。位置,这让我的API的
我有一个Spring应用程序,其中公开了两个rest接口供使用。一个是内部开发人员,另一个是客户。 Swagger确实生成了一个很好的文档,可以在/Swagger ui下访问。html 在此URL下显示内部和外部用户的文档。 以下是我的代码设置: 现在,我想把这些昂首阔步的文档分开。这样我们的内部开发人员就可以像 /留档/私有/swagger-ui.html和 /留档/公共/api-v1.html