説明
認証が必要なAPIでは、必要なヘッダーやトークンがクライアントに伝わるよう、OpenAPI 3.0のcomponents.securitySchemesに認証方式を定義します。認証なしで公開することを意図したAPIでは、この定義を省略できます。
想定される影響
必要な認証方式が文書にないと、クライアント連携が失敗したり、アクセス要件を誤解したりする可能性があります。
対処方法
実際に使用する認証方式とその属性をcomponents.securitySchemesに定義し、全体または操作のsecurityから参照してください。サーバーやゲートウェイでも同じ要件を適用するように設定します。
例
この例では、認証が必要なAPIにBearer認証の定義と要件を追加しています。サーバーでトークンを検証する設定も必要です。
変更前
json
{
"openapi": "3.0.0",
"info": {
"title": "Simple API overview",
"version": "1.0.0"
},
"paths": {
"/": {
"get": {
"responses": {
"200": {
"description": "200 response"
}
}
}
}
}
}
変更後
json
{
"openapi": "3.0.0",
"info": {
"title": "Simple API Overview",
"version": "1.0.0"
},
"paths": {
"/": {
"get": {
"responses": {
"200": {
"description": "200 response"
}
}
}
}
},
"security": [
{
"exampleSecurity": []
}
],
"components": {
"securitySchemes": {
"exampleSecurity": {
"type": "http",
"scheme": "bearer"
}
}
}
}