在我的应用程序中,我正在尝试将一些标头参数从 angular2 应用程序发送到我的节点服务器:
var token = localStorage.getItem('token');
var headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Auth-Token', token);
var url = this.baseUrl + '/initdata';
return this._http.get( url, {headers: headers, body : {}}).toPromise()
.then(response => {
const status = response.json().status;
if(status == SERVER_RESPONSE_STATUS.SUCCESS)
{
return response.json().result;
}
else if( status == SERVER_RESPONSE_STATUS.FAILED)
{
throw new Error(response.json().message);
}
})
.catch(this.handleError);
}
但问题是当我尝试从节点读取值时,无法提取"身份验证令牌"的值(表示未定义(
router.use('/', function (req, res, next) {
tokenGenerator.verify(req.header('auth-token'), Constants.AUTH_PRIVATE_KEY, function (err, decoded) {
});
});
在 angular2 中,我也从 http 导入标头:
import {Http, Headers} from "@angular/http";
有人可以帮我这里有什么问题吗?
谢谢
你可以像这样从标头中读取令牌
if(req.headers.hasOwnProperty('token')) {
req.headers.authorization = 'Bearer ' + req.headers.token;
token = req.headers.token;
}
从 Ng2 发送令牌
headers.append('token', token);
这就是我的做法。