如何在标头中包含Swagger API密钥?

时间:2018-10-26 04:06:56

标签: c# asp.net-web-api swagger

我正在使用Swagger API。它给了我想要的输出。但是,在测试时,我将API密钥更改为某个错误的API密钥(期望它提供错误),但是它仍然为我提供了正确的输出(这是我使用正确的API密钥获得的)。为什么会这样?

以下是我在SwaggerConfig.cs中使用的代码:

using System.Web.Http;
using WebActivatorEx;
using CalendarDetails;
using Swashbuckle.Application;
using System;
using System.Xml.XPath;
using System.Web.Configuration;

[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]

namespace CalendarDetails
{
    public class SwaggerConfig
    {
        public static void Register()
        {
            GlobalConfiguration.Configuration
                 .EnableSwagger(c =>
                    {
                        c.SingleApiVersion("v1", "CalendarDetails");

                        c.ApiKey(WebConfigurationManager.AppSettings["ApiKey"])
                            .Description("API Key Authentication")
                            .Name("X-ApiKey")
                            .In("header");
                        c.IncludeXmlComments(GetXmlCommentsPath());

                    })
                .EnableSwaggerUi(c =>
                    {
                        c.EnableApiKeySupport("X-ApiKey", "header");
                    });
        }

        private static string GetXmlCommentsPath()
        {
            return System.AppDomain.CurrentDomain.BaseDirectory + @"\bin\CalendarDetails.XML";
        }
    }
}

请告诉我我要去哪里了吗?

0 个答案:

没有答案