我想用Swashbuckle(爲.net開口)在WebAPI項目上進行基於API密鑰的身份驗證。swashbuckle頭部的API密鑰
我已經配置swashbuckle如下:
config
.EnableSwagger(c =>
{
c.ApiKey("apiKey")
.Description("API Key Authentication")
.Name("X-ApiKey")
.In("header");
c.SingleApiVersion("v1", "My API");
})
.EnableSwaggerUi();
(見https://github.com/domaindrivendev/Swashbuckle#describing-securityauthorization-schemes)
這似乎創造招搖文件我想到:
"securityDefinitions": { "apiKey": { "type": "apiKey", "description": "API Key Authentication", "name": "X-ApiKey", "in": "header" } }
但是,當我去到UI和'試一試'它試圖將API密鑰放入查詢字符串(我認爲是默認行爲)而不是頭部。
如:
curl -X POST --header 'Accept: application/json' 'http://localhost:63563/api/MyMethod?api_key=key'
怎樣才能昂首闊步使用把API密鑰的頭而不是查詢字符串?
看起來更好的生病下週嘗試它的歡呼。 –
它只是工作,它的好得多 –
這對我有用。調整swagger配置設置時,請確保運行'iisreset'命令(如果使用的是完整的IIS)。配置有時會被緩存,並且您不會看到更改。 –