我使用NSwagStudio从Swagger2.0JSON文件生成客户机类/代码。
以前,它用于生成以下身份验证代码:
//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文件进行哪些更改,以确保生成的代码具有如上所述的身份验证代码?
发布于 2019-02-04 22:55:08
为了定义身份验证,OpenAPI 2.0规范使用两个关键字:
securityDefinitionssecuritysecurityDefinitions描述安全类型(例如Basic、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": []
}
],
...
}
}
},
...
}更多信息:基本身份验证(OpenAPI 2.0)
https://stackoverflow.com/questions/54206314
复制相似问题