首页 > 解决方案 > 如何使用asp.net web api在swagger ui的url标头中传递访问令牌?

问题描述

我在 asp.net 中有一个招摇的 API。我在我的项目中使用基于令牌的身份验证。我通过 tokenendpointpath [/token] 中的发布请求获得令牌作为响应。现在我需要使用每个请求 curl 授权标头自动传递该令牌。我尝试了很多方法,但它不起作用。我不希望用户每次在请求时都输入该令牌。请帮助我摆脱这个问题。

//请求令牌

在此处输入图像描述

//请求资源

在此处输入图像描述

//Swagger.config 类

public class SwaggerConfig
{

    public static void Register()
    {
        var thisAssembly = typeof(SwaggerConfig).Assembly;

        GlobalConfiguration.Configuration
            .EnableSwagger(c =>
                {
                    c.DocumentFilter<AuthTokenOperation>();
                    c.SingleApiVersion("v1", "API");
                    c.PrettyPrint();
                })
            .EnableSwaggerUi(c =>
                {

                    c.DocumentTitle("MY API");

                });
    }
}

提前感谢

标签: authenticationasp.net-web-apiswaggeraccess-tokenswagger-ui

解决方案


更新到 web api .net 框架

.EnableSwagger(c =>
{
    c.DocumentFilter<AuthTokenOperation>();
    c.SingleApiVersion("v1", "API");
    c.PrettyPrint();

     c.ApiKey("apiKey")
        .Description("API Key for accessing secure APIs")
        .Name("Api-Key")
        .In("header");                  
})

推荐阅读