我们有一个基于.NET Core 2.2的ASP.NET WebApi项目,我们正在通过开放ID使用承载令牌进行身份验证。
实际上,我只能使用邮递员创建承载令牌,在那里我可以定义一个x-www-form-urlencoded正文,其中包含用户名和密码之类的授权属性。
我已经在启动类的swaggergen选项中添加了安全定义:
options.AddSecurityDefinition("Bearer",
new ApiKeyScheme()
{
In = "header",
Description = "Please insert Bearer JWT token into field. Example: 'Bearer {token}'",
Name = "Authorization",
Type = "apiKey"
});
但是我仍然必须通过邮递员创建不记名令牌。我如何也可以通过Swagger UI创建它?
我尝试过此方法,但不起作用:
options.AddSecurityDefinition("OpenID Connect", new OAuth2Scheme
{
Type = "oauth2",
Flow = "implicit",
AuthorizationUrl = "/connect/authorize"
});
...
options.EnableAuthorizationEndpoint("/connect/authorize")
.AllowImplicitFlow()
答案 0 :(得分:0)
您可以实施自定义招摇授权,以输入必要的字段以取回并保存承载令牌。您可以查看以下内容:http://www.geekswithblogs.net/michelotti/archive/2015/06/26/customize-authentication-header-in-swaggerui-using-swashbuckle.aspx。
如果您想通过招摇来创建它,请向您的解决方案中添加一个自定义的端点,该端点仅在开发环境中可以使用,