認証
Restorm には「認証タイプ」のドロップダウンはありません。代わりに、もっと汎用的な仕組みがあります。 それが 認証リクエスト で、他のリクエストのためにヘッダーを生成することを役割とする、独立した 1 つのリクエストです。
利点は、どんな認証方式でもモデル化できることです。 2 段階のやり取り、署名付きトークン、自社製 API など、ドロップダウンでは想定されていない方式も表現できます。 欠点は、一度だけ自分で書く必要があることです。
認証ルートを作成する
Section titled “認証ルートを作成する”変数フォルダー を右クリックし、 追加 ▸ 認証リクエスト を選びます。
まず、通常の HTTP リクエストと同じように呼び出しを設定します(メソッド、URL、ヘッダー、ボディ)。 次に、認証固有の 3 つの設定を持つ Configuration タブを開きます。

生成されるヘッダー
Section titled “生成されるヘッダー”このルートを参照するすべてのリクエストに注入されるヘッダーの一覧です。 各値は、認証リクエストの レスポンスボディに対して評価される式 です。
| ヘッダー | 値 |
|---|---|
Authorization | {{token_type}} {{access_token}} |
有効期限(秒)
Section titled “有効期限(秒)”こちらも同じくレスポンスボディに対して評価される式で、有効期間を秒数で返します。
通常は {{expires_in}} です。
空のままにすると、トークンは自動的に失効しません。
認証エラーコード
Section titled “認証エラーコード”このルートを使うリクエストがこれらの HTTP ステータスを受け取ると、
トークンの更新と自動リトライ が実行されます。
既定値は 401 と 403 です。
2 つの用語、指すものは 1 つ
Section titled “2 つの用語、指すものは 1 つ”認証リクエスト は、ツリー内で作成する要素そのものです。 認証ルート は、それを添付するセレクターの中で、別のリクエストから見たときの同じ要素です。 2 つの用語はインターフェイス上の 2 か所で使われますが、同じ実体を指しています。
リクエストにルートを添付する
Section titled “リクエストにルートを添付する”リクエストのタブの smartbar にある 認証ルート セレクターに、その変数フォルダーのルートが一覧表示されます。 既定のラベルは 認証なし です。
添付すると、送信のたびに生成されたヘッダーが注入され、トークンは失効するまでキャッシュされ、
401 を受け取ると透過的に更新されます。
よく使うレシピ
Section titled “よく使うレシピ”Bearer / OAuth 2 クライアントクレデンシャル
Section titled “Bearer / OAuth 2 クライアントクレデンシャル”リクエスト:POST https://auth.exemple.test/oauth/token、ボディは
x-www-form-urlencoded で grant_type=client_credentials、
client_id={{clientId}}、client_secret={{clientSecret}}
(シークレットは Secret 型の値)。
生成されるヘッダー:Authorization = {{token_type}} {{access_token}}。
有効期限:{{expires_in}}。
認証情報がすでに手元にあるなら、リクエストは不要です。 リクエスト(またはフォルダー)にヘッダーを直接置くだけで済みます。
Authorization = Basic {{base64Encode (append (append user ":") password)}}
API キー
Section titled “API キー”ヘッダーまたはクエリパラメーターが 1 つあれば十分です。
X-API-Key = {{apiKey}}(キーは Secret 型の変数)。
2 回の呼び出しで取得するトークン
Section titled “2 回の呼び出しで取得するトークン”シナリオ を作成します。
1 回目の呼び出し、中間コードの抽出、2 回目の呼び出しの後、変数を設定 で実行変数にトークンを格納します。
シナリオの後続リクエストは {{token}} でそれを読み取ります。
インポート時の挙動
Section titled “インポート時の挙動”仕様をインポートすると、宣言されているセキュリティスキームが あらかじめ配線された ヘッダーやパラメーターに変換され、環境変数も自動的に作成されます。
| 仕様内のスキーム | Restorm が配置するもの |
|---|---|
apiKey(ヘッダーまたはクエリ) | スキーム名を付けた組み合わせ。値は {{<schema>}} |
http / basic | Authorization: Basic {{<schema>_credentials}} |
http / bearer、oauth2、openIdConnect | Authorization: Bearer {{<schema>_token}} |
あとは変数に値を入れるだけです。 自動更新が必要な場合は、認証ルートに置き換えてください。
プロトコルごとのネイティブな認証情報
Section titled “プロトコルごとのネイティブな認証情報”一部のプロトコルは HTTP ヘッダーを使いません。 その認証情報はリクエスト自体のフィールドになります。
| プロトコル | フィールド |
|---|---|
| MQTT | username、password、クライアント ID |
| AMQP | username、password、vhost |
| Redis | password |
| Kafka | SASL メカニズム(plain、scram-sha-256、scram-sha-512)、ユーザー名、パスワード、TLS |
| STOMP | CONNECT の login ヘッダーと passcode ヘッダー |
| gRPC | 呼び出しのメタデータ |
これらのパスワードはいずれも Secret 型の値を受け付けます。