Basic HTTP Authentication 이란

HTTP user agent가  http request를 할 때, username과  password를 제공하는 방법중 가장 쉬운 방법의 하나로 핸드쉐이킹 과정없이 HTTP header내의 필드들을 사용해서 이루어진다.

 

Client side에서 해야할 작업

HTTP header 내에 Authorization 필드를 다음의 절차를 따라 만든다.

  1. username, a single colon(‘:’), password 를 결합한 string을 만든다.
  2. Base64로 encoding한다.
  3. “Basic ” + 인코딩 된 string을 Authorization ‘key’의 ‘value’로 지정한다. (Basic 다음에 space를 반드시 포함해야한다.)

 

javascript 예제

Node.js에서의 예제

var options = {
host: ‘https://a.b.com’,
port: 443,
path: ‘/’,
// authentication headers
headers: {
‘Authorization’: ‘Basic ‘ + new Buffer(username + ‘:’ + password).toString(‘base64’)
}
};

 

Google Apps Script(GAS)에서의 예제

  var url = “https://a.b.com”
var options =
{
“method”: “post”,
“headers”: {
“User-Agent”: “MY_APP_NAME”,
“Authorization”: “Basic ” + Utilities.base64Encode(username + ‘:’ + password)
},
“payload”: payload
};

UrlFetchApp.fetch(url, options);

Advertisements