当它是具有 angular2 的外部源时,标头中没有 jwt 令牌授权
Posted
技术标签:
【中文标题】当它是具有 angular2 的外部源时,标头中没有 jwt 令牌授权【英文标题】:no jwt token Authorization in header when it is an external source with angular2 【发布时间】:2018-05-01 15:28:55 【问题描述】:我有这个代码(angular2):
let headers = new Headers('Content-Type': 'application/json');
headers.append('Authorization', this.authService.currentUser.token)
let options = new RequestOptions( headers: headers );
return this.http.get(this.url + 'quote/' , options)
当this.url = '/'
(本地请求)时,我在标头中有授权:
this.url = 'http://212.227.201.82/'
时,授权令牌消失。
如何包含外部请求的标头授权? 感谢您的帮助
【问题讨论】:
【参考方案1】:我已经建立了这个问题! 它不是来自前端,而是来自后端! CORS(跨域资源共享)必须在API中开启
使用 ExpressJS 的 EG:
$ npm install cors
简单用法(启用所有 CORS 请求)
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
app.get('/products/:id', function (req, res, next)
res.json(msg: 'This is CORS-enabled for all origins!')
)
参考:Allow multiple CORS domain in express js/How to allow CORS?/https://github.com/expressjs/cors
【讨论】:
以上是关于当它是具有 angular2 的外部源时,标头中没有 jwt 令牌授权的主要内容,如果未能解决你的问题,请参考以下文章
Angular2 - HTTP RequestOptions 标头
Angular2:angular-http 标头非常奇怪的行为
Angular2 Spring Boot JWT 缺少响应标头