從服務端獲取token寫入本地文件的方法

const http = require('http');
const fs = require('fs');
const postData = JSON.stringify({
  'username': 'admin',//用戶名
  'password': 'admin',//密碼
  'grant_type': 'PASSWORD'
});
const options = {
  method: 'POST',
  protocol: 'http:',
  hostname: '127.0.0.1',//server ip
  port: 8080,//server port
  path: '/api/oauth2/v1/user/access_token',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(postData)
  }
};
const req = http.request(options, (res) => {
  console.log(`statusCode:${res.statusCode}`);
  console.log(`headers:${JSON.stringify(res.headers)}`);
  res.setEncoding('utf8');
  let data = '';
  res.on('data', (chunk) => {
    data += chunk;
  });
  res.on('end', () => {
    console.log(`body:${JSON.stringify(JSON.parse(data), null, 2)}`);
	var file="src\\environments\\environment.ts"
	fs.open(file,'a',function(err,fd){
		console.log(fd);
	});
	var content="export const environment = {"+
					"production: false,"+
					"product: 'web',"+
					"authorization: {"+
						"name: 'ACCESS-TOKEN',"+
						"value: '"+JSON.parse(data).access_token+"'"+
					"}"+
			"};";
	console.log();
	fs.writeFile(file,content,'utf-8',function(err){
		if(err){
			console.error(err);
		}else{
			console.log("write ok");
		}
	});
	// fs.close();
  });
});
req.on('error', (e) => {
  console.log(`error:${e.message}`);
});
req.write(postData);
req.end();

通過node運行本段代碼,修改服務端oauth地址以及用戶名密碼之後,可以將服務端獲取的token寫入angular的environment文件中,開發環境下可以通過此方式聯調添加token以獲取對服務端的訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章