在Swagger UI中进行身份验证后如何设置Bearer令牌

时间:2019-11-02 18:47:28

标签: swagger swagger-ui openapi swagger-3.0

我有一个用PHP编写的REST API服务提供程序。我在Postman中成功测试了它,并在那里正常工作。

现在,我将为其准备API文档,并且正在使用Swagger UI3。我已对其进行正确设置,并且可以使用顶部的 Authorize (授权)按钮处理Authorization。

成功登录后,我希望端点设置并使用相应的Bearer令牌。但这不会发生,当我尝试任何端点时,REST服务器都会抱怨缺少授权头。我测试了网络流量,并且HTTP请求中没有令牌。

我的问题是,使用顶部的“授权”按钮成功登录后,如何在Swagger UI的标头中发送Bearer令牌?我应该采取什么步骤/过程来将终结点请求与令牌一起出现?

1 个答案:

答案 0 :(得分:0)

我在.NET core项目中使用了它,在启动文件中,我必须放置以下代码部分:

services.AddSwaggerGen(options =>
        {

            //authentication
            var security = new Dictionary<string, IEnumerable<string>>
            {
                {"Bearer", new string[] { }},
            };
            options.AddSecurityDefinition("Bearer", new ApiKeyScheme
            {
                In = "Header",
                Description = "Please insert JWT into field",
                Name = "Authorization",
                Type = "apiKey"
            });

            options.AddSecurityRequirement(security);
}