当前位置: 首页 > 知识库问答 >
问题:

如何在 Swagger 中配置基本身份验证?

刘承运
2023-03-14

在斯威格中有一个.BasicAuth(“基本”)。我取消注释的描述(“基本HTTP授权”)行。

但是,当尝试使用其中一个endpoint时,单击“试用!”按钮时,系统会提示我登录。无论我在这个框中放了什么(用户名和密码框),我都无法运行或测试endpoint,因为我未经授权。我需要在 SwaggerConfig.cs 文件或其他位置执行哪些操作才能进行测试?

我使用的是.Net Framework而不是.Net Core,我没有预授权Basic()扩展名,我在其他地方看到过。

在我的网上。配置文件我有两个API密钥,一个用于用户,另一个用于密码,但我不知道如何使用这些密钥在SwaggerConfig中验证swagger。cs文件。

对我来说,这看起来像是取消注释。BasicAuth(“基本”)行对Swagger UI没有任何影响。不包括它或包括它没有任何区别。我仍然被提示登录我的“localhost:”页面,我无法通过这个框。

我非常肯定,我需要设置BasicAuth以获取用户名和密码的两个API密钥,但我不知道将这些值放在哪里,因为即使我将它们放在登录框中,它也不起作用。

谢谢你的任何帮助...

共有1个答案

濮君植
2023-03-14

你能给我们看一段代码吗,在你的启动中你应该有这样的东西:

        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new OpenApiInfo { Title = "BasicAuth", Version = "v1" });
            c.AddSecurityDefinition("basic", new OpenApiSecurityScheme
            {
                Name = "Authorization",
                Type = SecuritySchemeType.Http,
                Scheme = "basic",
                In = ParameterLocation.Header,
                Description = "Basic Authorization header using the Bearer scheme."
            });
            c.AddSecurityRequirement(new OpenApiSecurityRequirement
            {
                {
                      new OpenApiSecurityScheme
                        {
                            Reference = new OpenApiReference
                            {
                                Type = ReferenceType.SecurityScheme,
                                Id = "basic"
                            }
                        },
                        new string[] {}
                }
            });
        });

在UI中,您应该会看到一个带有挂锁的“授权”按钮

单击它将显示一个弹出窗口

然后当你测试你的API时,基本的头被发送

这首短裙很有帮助

 类似资料:
  • 我一直在努力遵循这个教程: https://www.baeldung.com/spring-security-basic-authentication 我创建了几个restendpoint,如下所示: 现在的问题是,每当我试图发送POST请求时,我都会得到以下错误消息: HTTP状态401-访问此资源需要完全身份验证 我尝试了两种方法来发送请求,一种是通过邮递员 1.1 401 set-cooki

  • 我想使用Spring Cloud实现OAuth2的令牌刷新。 我可以使用以下有效负载通过向发送请求来创建令牌: 但对于刷新令牌,则使用相同的路径。我还需要将用户名和密码发送到标题中,但我没有它们。我可以使用以下负载使用刷新令牌创建一个新令牌: Github代码

  • 我的问题是,在获取swagger文件之前,如何将授权头添加到索引hmtl中。我从一个使用基本身份验证的http url获取了这个招摇过市的文件。所以我需要在调用服务之前提供用户和密码。所以现在我需要知道在哪里添加标题。

  • 问题内容: 如何在AngularJs中使用基本身份验证?我已经在Google上搜索了,但是资源对我来说不起作用。我 非常 新AngularJS 问题答案: 假设您的html定义如下: 您可以使用以下基本身份验证将后端连接到rest api: 请注意,此代码的大部分是方法。如果不需要支持IE9及更低版本,则可以将其替换为本地JS实现- atob()和btoa():https : //develope

  • 我正在尝试将我的spring boot应用程序配置为登录zipkin服务器。问题是,该服务器受代理(具有基本身份验证)保护,我找不到任何描述如何使用spring sleuth配置授权的文档。 我尝试过使用这种配置: 但没有成功,日志显示: 我试过卷发,效果很好。 有人已经成功地用spring sleuth配置了身份验证吗?

  • 我有一个需要以两种不同方式保护的API: 1) 对除1以外的所有请求URL使用JWT,该URL需要使用基本身份验证进行保护 2) 一个url的基本身份验证。 我已经为JWT和Basic Auth设置了安全配置。我的问题是,当我使用有效的用户名和密码请求基本的经过身份验证的URL时,它会成功地对我进行身份验证,并将数据存储在cassandra中。 然后,我希望必须通过/api/login为所有其他请