从Swashback自动生成的swagger.json在swagger编辑器中是否有效?
我有一个.NET core 2.1 web API,它使用Swashbuckle.AspNetCore v3.0.0生成swagger文档。我可以从API访问swagger UI,它工作得很好,并且从API使用它时不会收到任何错误。但是,我不能使用swagger.json将此API发布到Azure API管理。当我在swagger编辑器中加载swagger.json进行验证时,它会抱怨一系列错误(与Azure抱怨的错误相同)。既然swagger.json是从我的API中配置的swagger生成的(它是API中swagger UI顶部的一个链接),为什么它不能成功加载到swagger编辑器或Azure 下面是一个示例函数,其中swagger正在分解该函数中Openiddict类型的属性从Swashback自动生成的swagger.json在swagger编辑器中是否有效?,swagger,swashbuckle,azure-api-management,Swagger,Swashbuckle,Azure Api Management,我有一个.NET core 2.1 web API,它使用Swashbuckle.AspNetCore v3.0.0生成swagger文档。我可以从API访问swagger UI,它工作得很好,并且从API使用它时不会收到任何错误。但是,我不能使用swagger.json将此API发布到Azure API管理。当我在swagger编辑器中加载swagger.json进行验证时,它会抱怨一系列错误(与Azure抱怨的错误相同)。既然swagger.json是从我的API中配置的swagger生成的
[HttpPost("~/connect/token")]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Identity.SignInResult), 200)]
[ProducesResponseType(typeof(OpenIdConnectResponse), 400)]
public async Task<IActionResult> Exchange(OpenIdConnectRequest request)
{
return Ok(null);
}
[HttpPost(“~/connect/token”)]
[产品响应类型(typeof(Microsoft.AspNetCore.Identity.SignInResult),200)]
[产品响应类型(typeof(OpenIdConnectResponse),400)]
公共异步任务交换(OpenIdConnectRequest)
{
返回Ok(空);
}
该函数从swashbuckle生成以下swagger.json
/connect/token:
post:
tags:
- Authorization
summary: Provides the token endpoint for supporting openidconnect token generation.
operationId: ConnectTokenPost
consumes: []
produces:
- text/plain
- application/json
- text/json
- application/xml
- text/xml
parameters:
- name: AccessToken
in: query
required: false
type: string
- name: AcrValues
in: query
required: false
type: string
- name: Assertion
in: query
required: false
type: string
- name: Claims
in: query
required: false
type: object
- name: ClaimsLocales
in: query
required: false
type: string
- name: ClientAssertion
in: query
required: false
type: string
- name: ClientAssertionType
in: query
required: false
type: string
- name: ClientId
in: query
required: false
type: string
- name: ClientSecret
in: query
required: false
type: string
- name: Code
in: query
required: false
type: string
- name: CodeChallenge
in: query
required: false
type: string
- name: CodeChallengeMethod
in: query
required: false
type: string
- name: CodeVerifier
in: query
required: false
type: string
- name: Display
in: query
required: false
type: string
- name: GrantType
in: query
required: false
type: string
- name: IdentityProvider
in: query
required: false
type: string
- name: IdTokenHint
in: query
required: false
type: string
- name: LoginHint
in: query
required: false
type: string
- name: MaxAge
in: query
required: false
type: integer
format: int64
- name: Nonce
in: query
required: false
type: string
- name: Password
in: query
required: false
type: string
- name: PostLogoutRedirectUri
in: query
required: false
type: string
- name: Prompt
in: query
required: false
type: string
- name: RedirectUri
in: query
required: false
type: string
- name: RefreshToken
in: query
required: false
type: string
- name: Request
in: query
required: false
type: string
- name: RequestId
in: query
required: false
type: string
- name: RequestUri
in: query
required: false
type: string
- name: Resource
in: query
required: false
type: string
- name: ResponseMode
in: query
required: false
type: string
- name: ResponseType
in: query
required: false
type: string
- name: Scope
in: query
required: false
type: string
- name: State
in: query
required: false
type: string
- name: Token
in: query
required: false
type: string
- name: TokenTypeHint
in: query
required: false
type: string
- name: Registration
in: query
required: false
type: object
- name: UiLocales
in: query
required: false
type: string
- name: Username
in: query
required: false
type: string
responses:
'200':
description: Successfully generates the appropriate access/identity tokens.
schema:
$ref: '#/definitions/SignInResult'
'400':
description: Indicates an error while attempting to generate an authentication token.
schema:
$ref: '#/definitions/OpenIdConnectResponse'
'403':
description: Indicates the authorization request is not allowed because the user is not authenticated.
[HttpGet("~/connect/authorize")]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Identity.SignInResult), 200)]
public async Task<IActionResult> Authorize(OpenIdConnectRequest request)
{
return Ok(null);
}
/connect/token:
职位:
标签:
-授权书
摘要:提供用于支持openidconnect令牌生成的令牌端点。
操作ID:ConnectTokenPost
消费:[]
生产:
-文本/纯文本
-应用程序/json
-text/json
-应用程序/xml
-文本/xml
参数:
-名称:AccessToken
in:查询
必填项:false
类型:字符串
-名称:AcrValues
in:查询
必填项:false
类型:字符串
-名称:断言
in:查询
必填项:false
类型:字符串
-名称:索赔
in:查询
必填项:false
类型:对象
-名称:ClaimsLocales
in:查询
必填项:false
类型:字符串
-名称:ClientAssertion
in:查询
必填项:false
类型:字符串
-名称:ClientAssertionType
in:查询
必填项:false
类型:字符串
-姓名:ClientId
in:查询
必填项:false
类型:字符串
-姓名:ClientSecret
in:查询
必填项:false
类型:字符串
-姓名:代码
in:查询
必填项:false
类型:字符串
-名称:CodeChallenge
in:查询
必填项:false
类型:字符串
-名称:CodeChallengeMethod
in:查询
必填项:false
类型:字符串
-姓名:CodeVerifier
in:查询
必填项:false
类型:字符串
-名称:显示器
in:查询
必填项:false
类型:字符串
-姓名:GrantType
in:查询
必填项:false
类型:字符串
-名称:IdentityProvider
in:查询
必填项:false
类型:字符串
-名称:IdTokenHint
in:查询
必填项:false
类型:字符串
-姓名:LoginHint
in:查询
必填项:false
类型:字符串
-姓名:MaxAge
in:查询
必填项:false
类型:整数
格式:int64
-姓名:Nonce
in:查询
必填项:false
类型:字符串
-名称:密码
in:查询
必填项:false
类型:字符串
-名称:PostLogoutRedirectUri
in:查询
必填项:false
类型:字符串
-名称:Prompt
in:查询
必填项:false
类型:字符串
-名称:重定向URI
in:查询
必填项:false
类型:字符串
-名称:RefreshToken
in:查询
必填项:false
类型:字符串
-姓名:请求
in:查询
必填项:false
类型:字符串
-名称:RequestId
in:查询
必填项:false
类型:字符串
-名称:RequestUri
in:查询
必填项:false
类型:字符串
-名称:资源
in:查询
必填项:false
类型:字符串
-名称:ResponseMode
in:查询
必填项:false
类型:字符串
-姓名:ResponseType
in:查询
必填项:false
类型:字符串
-名称:范围
in:查询
必填项:false
类型:字符串
-姓名:国家
in:查询
必填项:false
类型:字符串
-名称:令牌
in:查询
必填项:false
类型:字符串
-名称:TokenTypeHint
in:查询
必填项:false
类型:字符串
-姓名:注册
in:查询
必填项:false
类型:对象
-名称:UiLocales
in:查询
必填项:false
类型:字符串
-姓名:用户名
in:查询
必填项:false
类型:字符串
响应:
'200':
描述:成功生成适当的访问/标识令牌。
模式:
$ref:“#/definitions/SignInResult”
'400':
描述:表示尝试生成身份验证令牌时出错。
模式:
$ref:“#/definitions/OpenIdConnectResponse”
'403':
描述:表示由于用户未经身份验证,因此不允许授权请求。
[HttpGet(“~/connect/authorize”)]
[产品响应类型(typeof(Microsoft.AspNetCore.Identity.SignInResult),200)]
公共异步任务授权(OpenIdConnectRequest请求)
{
返回Ok(空);
}
这是我要说的
/connect/token:
post:
tags:
- Authorization
summary: Provides the token endpoint for supporting openidconnect token generation.
operationId: ConnectTokenPost
consumes: []
produces:
- text/plain
- application/json
- text/json
- application/xml
- text/xml
parameters:
- name: AccessToken
in: query
required: false
type: string
- name: AcrValues
in: query
required: false
type: string
- name: Assertion
in: query
required: false
type: string
- name: Claims
in: query
required: false
type: object
- name: ClaimsLocales
in: query
required: false
type: string
- name: ClientAssertion
in: query
required: false
type: string
- name: ClientAssertionType
in: query
required: false
type: string
- name: ClientId
in: query
required: false
type: string
- name: ClientSecret
in: query
required: false
type: string
- name: Code
in: query
required: false
type: string
- name: CodeChallenge
in: query
required: false
type: string
- name: CodeChallengeMethod
in: query
required: false
type: string
- name: CodeVerifier
in: query
required: false
type: string
- name: Display
in: query
required: false
type: string
- name: GrantType
in: query
required: false
type: string
- name: IdentityProvider
in: query
required: false
type: string
- name: IdTokenHint
in: query
required: false
type: string
- name: LoginHint
in: query
required: false
type: string
- name: MaxAge
in: query
required: false
type: integer
format: int64
- name: Nonce
in: query
required: false
type: string
- name: Password
in: query
required: false
type: string
- name: PostLogoutRedirectUri
in: query
required: false
type: string
- name: Prompt
in: query
required: false
type: string
- name: RedirectUri
in: query
required: false
type: string
- name: RefreshToken
in: query
required: false
type: string
- name: Request
in: query
required: false
type: string
- name: RequestId
in: query
required: false
type: string
- name: RequestUri
in: query
required: false
type: string
- name: Resource
in: query
required: false
type: string
- name: ResponseMode
in: query
required: false
type: string
- name: ResponseType
in: query
required: false
type: string
- name: Scope
in: query
required: false
type: string
- name: State
in: query
required: false
type: string
- name: Token
in: query
required: false
type: string
- name: TokenTypeHint
in: query
required: false
type: string
- name: Registration
in: query
required: false
type: object
- name: UiLocales
in: query
required: false
type: string
- name: Username
in: query
required: false
type: string
responses:
'200':
description: Successfully generates the appropriate access/identity tokens.
schema:
$ref: '#/definitions/SignInResult'
'400':
description: Indicates an error while attempting to generate an authentication token.
schema:
$ref: '#/definitions/OpenIdConnectResponse'
'403':
description: Indicates the authorization request is not allowed because the user is not authenticated.
[HttpGet("~/connect/authorize")]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Identity.SignInResult), 200)]
public async Task<IActionResult> Authorize(OpenIdConnectRequest request)
{
return Ok(null);
}
{
"name": "Claims",
"in": "query",
"required": false,
"type": "object"
}
public async Task<IActionResult> Exchange([FromBody] OpenIdConnectRequest request)