コンテンツにスキップ

基本認証

基本認証は、HTTPプロトコルに組み込まれている非常にシンプルな認証スキームです。クライアントは、`Basic`という単語、スペース、およびbase64でエンコードされた`username:password`文字列を含むAuthorizationヘッダー付きのHTTPリクエストを送信します。たとえば、`demo` / `p@55w0rd`の資格情報を含むヘッダーは、次のようにエンコードされます。

1
Authorization: Basic ZGVtbzpwQDU1dzByZA==

注:base64は簡単にデコードできるため、基本認証はHTTPS/SSLなどの他のセキュリティメカニズムと組み合わせてのみ使用する必要があります。

基本認証の定義は簡単です。グローバルなsecurityDefinitionsセクションに、type: basicと任意の名前(この例では*basicAuth*)のエントリを追加します。次に、securityセクションを使用して、API全体または特定の操作にセキュリティを適用します。

1
securityDefinitions:
2
basicAuth:
3
type: basic
4
5
# To apply Basic auth to the whole API:
6
security:
7
- basicAuth: []
8
9
paths:
10
/something:
11
get:
12
# To apply Basic auth to an individual operation:
13
security:
14
- basicAuth: []
15
responses:
16
200:
17
description: OK (successfully authenticated)

401レスポンス

また、資格情報が不足しているか正しくないリクエストに対して返される401「Unauthorized」応答を定義することもできます。この応答には、言及したいWWW-Authenticateヘッダーが含まれています。他の一般的な応答と同様に、401応答はグローバルresponsesセクションで定義し、複数の操作から参照できます。

1
paths:
2
/something:
3
get:
4
...
5
responses:
6
...
7
401:
8
$ref: '#/responses/UnauthorizedError'
9
post:
10
...
11
responses:
12
...
13
401:
14
$ref: '#/responses/UnauthorizedError'
15
responses:
16
UnauthorizedError:
17
description: Authentication information is missing or invalid
18
headers:
19
WWW_Authenticate:
20
type: string

お探しのものが見つかりませんでしたか? コミュニティに質問する
間違いを見つけましたか? お知らせください