Closed1

【POSTMAN】Pre-requestでアクセストークンをセットする方法

やむ | serinaやむ | serina

POSTMANで自動テストを作成していて、一部ROPCタイプのアクセストークンをセットしたい場合があった。
authorizationタブでセットした環境変数の値を、Pre-requestでセットしたい。

書き方

const base_url = pm.environment.get("base_url");
const username = pm.environment.get("username");
const password = pm.environment.get("password");

// ここでBasic Authを生成する
const cryptoJs = require('crypto-js');
let keys = pm.environment.get("client_id") + ":" + pm.environment.get("client_secret");
let encodedKeys = cryptoJs.enc.Base64.stringify(cryptoJs.enc.Utf8.parse(keys));

// AT取得してセット
pm.sendRequest({
      url:  base_url + '/token', 
      method: 'POST',
      header: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': 'Basic ' + encodedKeys
      },
      body:'grant_type=password&username=' + encodeURIComponent(username) + '&password='+ encodeURIComponent(password)
      
  }, function (err, res) {
    if (err) {
        console.error(err);
    } else {
        console.log(res.json());
        pm.environment.set("_access_token", res.json().access_token);
    }
  });

このときAuthorizationタブはBearer Tokenにしておき、セットしておいた環境変数の値をPre-requestでセットする。
authorization

参考

https://www.postman.com/postman/workspace/postman-answers/request/18070393-8e222e0a-1972-4804-a72f-5d993445c848?tab=scripts
https://ja.wikipedia.org/wiki/Base64

このスクラップは2024/08/07にクローズされました