首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用NSwagStudio生成基本身份验证代码?

如何使用NSwagStudio生成基本身份验证代码?
EN

Stack Overflow用户
提问于 2019-01-15 20:24:32
回答 1查看 2.2K关注 0票数 2

我使用NSwagStudio从Swagger2.0JSON文件生成客户机类/代码。

以前,它用于生成以下身份验证代码:

代码语言:javascript
复制
//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文件进行哪些更改,以确保生成的代码具有如上所述的身份验证代码?

EN

回答 1

Stack Overflow用户

发布于 2019-02-04 22:55:08

为了定义身份验证,OpenAPI 2.0规范使用两个关键字:

  • securityDefinitions
  • security

securityDefinitions描述安全类型(例如Basic、API密钥等),security将其应用于所有或特定的操作。没有securitysecurityDefinitions就没有任何效果。

如果所有操作都使用基本身份验证,则在根级别应用security

代码语言:javascript
复制
{
  "swagger": "2.0",

  "securityDefinitions": {
    "basicAuth": {
      "type": "basic"
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  ...
}

如果特定操作使用基本操作,则将security应用于该特定操作:

代码语言:javascript
复制
{
  "swagger": "2.0",

  "securityDefinitions": {
    "basicAuth": {
      "type": "basic"
    }
  },
  "paths": {
    "/foo": {
      "get": {
        "security": [
          {
            "basicAuth": []
          }
        ],
        ...
      }
    }
  },
  ...
}

更多信息:基本身份验证(OpenAPI 2.0)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54206314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档