我正在使用NSwagStudio从Swagger 2.0 JSON文件生成客户端类/代码。
以前,它用于生成以下身份验证代码:
//Authentication
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("username:password");
string encodedAuth = System.Convert.ToBase64String(plainTextBytes);
request_.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", encodedAuth);
现在,它不会生成上述Authorization
头。我应该在JSON文件中进行哪些更改,以确保生成的代码具有上述身份验证代码?
答案 0 :(得分:0)
要定义身份验证,OpenAPI 2.0规范使用两个关键字:
securityDefinitions
security
securityDefinitions
描述了安全类型(例如,基本,API密钥等),security
将其应用于所有或特定的操作。如果没有security
,securityDefinitions
无效。
如果所有操作都使用基本身份验证,请在根级别应用security
:
{
"swagger": "2.0",
"securityDefinitions": {
"basicAuth": {
"type": "basic"
}
},
"security": [
{
"basicAuth": []
}
],
...
}
如果特定操作使用基本身份验证,则将security
应用于该特定操作:
{
"swagger": "2.0",
"securityDefinitions": {
"basicAuth": {
"type": "basic"
}
},
"paths": {
"/foo": {
"get": {
"security": [
{
"basicAuth": []
}
],
...
}
}
},
...
}