0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

APIテストツールのInsomniaで、ログインしてトークンを取ってからリクエストさせるようにする

Last updated at Posted at 2023-01-27

APIのテストツールのInsomniaで、ログインしてトークンを取ってからリクエストさせるようにさせます。

Insomniaを始めとしたテストツールでは環境変数にログイン情報やAPIキーを入れておくことで、認証付きのリクエストも送ることができます。

ですがリクエストしたいAPIが一時的なアクセストークンを必要としている場合、トークンの有効期限の都度、取得し直す必要があります。

Insomniaではリクエストを送る際、別のリクエストを使ってトークンを取得し、その結果をそのリクエストに入れて送信することができます。

ログインリクエストの作成

まずはトークンが取れるようにログインリクエストを作成します。
大体のシステムで必要なものは

  • ログイン用URL
  • ユーザーID
  • パスワード

です。
Insomniaでリクエストを作成し、必要な情報を埋めます。

この例では /auth/v1/token というエンドポイントに POST でリクエストを行い、JSONでIDとパスワードを入れる、というものでした。

Screenshot 2023-01-27 at 13.50.37.png

IDとパスワードは環境変数を使っています。

実際にリクエストを組み立てる場合には実システムの通信を確認し、どういった内容で送るかを確認しておきます。

Insomniaからリクエストを送ってトークンが取れることを確認します。

Screenshot 2023-01-27 at 13.54.14.png

この例では

{
  access_token: "xxxxxxx",
....
}

として、直下の access_token でトークンが取れていることを確認しました。

使いたいリクエストの作成

実際に送りたいリクエストを作成します。こちらのリクエストも、トークンを送るヘッダー名を確認しておきます。この例では authorization というヘッダーに Bearer で始まる文字列にトークンを入れていました。1

Auth タブから Bearer を選びます。

image.png

この TOKEN に先ほどのリクエストの戻り値を使いたいため、TOKEN の箇所で CTRL+Space を押します。

そうすると利用できる特殊な変数などが表示されます。
真ん中より少し下にある Response => Body Attribute を選びます。

image.png

選択した直後は文字が赤いのですが、これをクリックするとポップアップが開いて編集することができます。

Screenshot 2023-01-27 at 14.00.01.png

それぞれの項目を埋めていきます。

Screenshot 2023-01-27 at 14.01.01.png

設定名 説明
Function to Perform Response (他のレスポンスを参照)を選びます
Attribute Body Attribute (レスポンスボディの属性を利用)を選びます
Request 先ほど作成したトークン取得のリクエスト名を指定します。ここでは POST Login(Get Access Token)
Filter (JSONPath or XPath) 利用するトークンをJSONPath もしくは XPath で指定します。
Trigger Behavior トークン取得を利用する頻度を選びます。都度取りに行くこともできますが、ここでは When Expired(期限が切れたら取得)を選択しました。
Max age 期限切れ前に利用すると判断する最大の秒数を指定します。
Preview 取得される内容がここにプレビューされます。かなり便利!

JSONPath もしくは XPath

ここでは $.access_token としました。
利用方法はこちらを参考にしました。

動作確認

ここまでできたら動作確認を行います。

無事にリクエストがされていたら成功です。

参考ページ

  1. https://ja.wikipedia.org/wiki/Bearer%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?