206

次の記事に基づいて、JWT トークン ベースのセキュリティの実装をテストしています。テスト サーバーからトークンを正常に受信しました。Chrome POSTMAN REST クライアント プログラムがヘッダーでトークンを送信する方法がわかりません。

郵便配達員のスクリーンショット

私の質問は次のとおりです。

1) 正しいヘッダー名や POSTMAN インターフェイスを使用していますか?

2) トークンを base 64 でエンコードする必要がありますか? トークンを返送するだけでよいと思いました。

4

12 に答える 12

145

これが役立つ場合の画像です:)

郵便屋さん

アップデート:

郵便配達チームは、「認証タブ」に「ベアラー トークン」を追加しました。 更新された郵便屋さん

于 2014-11-28T05:15:12.083 に答える
41

この質問に、JWT Api のテストに役立つかもしれない少し興味深いヒントを追加します。

実際には非常に簡単です。

ログインすると、Api (ログイン エンドポイント) ですぐにトークンを受け取ります。@mick-cullen が言ったように、ヘッダーで JWT を次のように使用する必要があります。

Authorization: Bearer TOKEN_STRING

自動化したい、または単に生活を楽にしたい場合は、テストでトークンをグローバルとして保存し、他のすべてのエンドポイントで次のように呼び出すことができます。

Authorization: Bearer {{jwt_token}}

Postman の場合: 次に、postman でグローバル変数を jwt_token = TOKEN_STRING として作成します。

ログイン エンドポイントで: 便利にするには、[テスト] タブの先頭に次を追加します。

var data = JSON.parse(responseBody);
postman.clearGlobalVariable("jwt_token");
postman.setGlobalVariable("jwt_token", data.jwt_token);

あなたの API は、{"jwt_token":"TOKEN_STRING"} のように応答でトークンを json として返していると推測していますが、何らかのバリエーションがある可能性があります。

最初の行で、応答をデータ変数に追加します。グローバルをクリーンアップし、値を割り当てます。

これでグローバル変数にトークンが設定され、すべてのエンドポイントで Authorization: Bearer {{jwt_token}} を使いやすくなりました。

このヒントがお役に立てば幸いです。


編集
読むべきもの

Postman でのテストについて:テスト例

コマンドライン:ニューマン

CI: Jenkins との統合

素敵なブログ投稿:マスター API テストの自動化

于 2017-01-02T15:31:00.260 に答える
0

Postman の最新バージョン (7++) では、Authorization に Bearer フィールドがない可能性があるため、Header タブに移動します。

キーを Authorization として選択し、値に JWT を書き込みます

于 2020-02-25T11:13:50.860 に答える