Anypoint 平台设计中心 RAML client_id 未被强制执行
Anypoint Platform Design Center RAML client_id not being enforced
当我在模拟服务中尝试此 RAML 时,即使我不包含 client_id 和 client_secret,我也会收到 200 成功响应。那是正常的吗?如果我将 headers 留空,我是否应该收到 401 响应,因为我已经将它们定义为必需的?
#%RAML 1.0
title: Test
description: testing cloudhub
traits:
client-id-required:
headers:
client_id:
type: string
required: true
client_secret:
type: string
required: true
responses:
401:
description: Unauthorized or invalid client application credentials
500:
description: Bad response from authorization server, or WSDL SOAP Fault error
/something:
is: [client-id-required]
get:
responses:
200:
body:
application/json:
example:
{
"hello" : "goodbye"
}
模拟服务应该validate the missing headers。目前尚不清楚为什么不是。但我看不出有任何理由让它以 401 响应。它是在模拟响应,而不是尝试进行身份验证。毕竟它并没有真正实现 API 。没有理由假定这些 headers 用于身份验证,只是它们 headers 是您的 API.
所必需的
您是否定义了 headers 但值为空?这可能符合 required 的定义,因此他们通过了验证。
当我在模拟服务中尝试此 RAML 时,即使我不包含 client_id 和 client_secret,我也会收到 200 成功响应。那是正常的吗?如果我将 headers 留空,我是否应该收到 401 响应,因为我已经将它们定义为必需的?
#%RAML 1.0
title: Test
description: testing cloudhub
traits:
client-id-required:
headers:
client_id:
type: string
required: true
client_secret:
type: string
required: true
responses:
401:
description: Unauthorized or invalid client application credentials
500:
description: Bad response from authorization server, or WSDL SOAP Fault error
/something:
is: [client-id-required]
get:
responses:
200:
body:
application/json:
example:
{
"hello" : "goodbye"
}
模拟服务应该validate the missing headers。目前尚不清楚为什么不是。但我看不出有任何理由让它以 401 响应。它是在模拟响应,而不是尝试进行身份验证。毕竟它并没有真正实现 API 。没有理由假定这些 headers 用于身份验证,只是它们 headers 是您的 API.
所必需的您是否定义了 headers 但值为空?这可能符合 required 的定义,因此他们通过了验证。