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以获取对服务端的访问。