我正试图发送一个授权令牌,但我的服务器不知何故没有接收它。
//service.ts
...
import { HttpClient, HttpHeaders } from '@angular/common/http';
...
getAllUsers():Observable<User[]>{
return this.http.get<User[]>(this.backendUrl.getUrl.concat('rest/user/getallusers'),
{headers: new HttpHeaders()
.set('Authorization', 'Token asdasd')
.set("Content-Type", "application/json")
});
}
//endpoint
@RequestMapping(value = "/getallusers", method = RequestMethod.GET, consumes = MediaType.APPLICATION_JSON_VALUE)
public List<User> getallusers() {
return this.userService.getAllUsers();
}
//标记过滤器
@Override
public Authentication attemptAuthentication(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws AuthenticationException, IOException, ServletException {
String header = httpServletRequest.getHeader("Authorization");
//Header is null here when I do a request from the browser
//but with postman it does has a value.
if (header == null || !header.startsWith("Token ")) {
throw new RuntimeException("JWT Token is missing");
}
String authenticationToken = header.substring(6);
JwtAuthenticationToken token = new JwtAuthenticationToken(authenticationToken);
return getAuthenticationManager().authenticate(token);
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*")
.allowedMethods("GET","POST","DELETE");
}
Request Headers
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:es-ES,es;q=0.9
Access-Control-Request-Headers:authorization,content-type
Access-Control-Request-Method:GET
Connection:keep-alive
Host:localhost:2030
Origin:http://localhost:4200
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
http.csrf().disable()
.cors() //<-- This one was missing
.and()
.addFilterBefore(authenticationTokenFilter(), UsernamePasswordAuthenticationFilter.class)
.authorizeRequests().antMatchers("login").permitAll()
.and()
.authorizeRequests().antMatchers("rest/**").authenticated()
.and()
.exceptionHandling().authenticationEntryPoint(entryPoint)
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.headers()
.cacheControl();
这可能是您尝试新的HttpClient
的好时机,您可以在这里找到相关文档
简单地替换
import { Http } from '@angular/http'; // old version
import { HttpClient } from '@angular/common/http'; // new version
在新客户机中,标头如下所示
http
.post('/api/items/add', body, {
headers: new HttpHeaders().set('Authorization', 'my-auth-token'),
})
问题内容: 使用urllib2.urlopen(..)时,我想在请求中发送自定义的“ Accept”标头。我怎么做? 问题答案: 不完全的。创建对象实际上并不发送请求,并且Request对象没有方法。(还:是小写字母。)您需要做的就是将用作第一个参数,这将给您您的答复。
我正在尝试使用< code >传递一些自定义的HTTP头 我试过两种配置。第一个具有“< code > mapped-request-headers ”属性: 第二个具有“”属性,具有相对配置: 但在这两种情况下,远程应用程序加载的消息头如下: 没有我试图添加到请求消息中的“test”头的跟踪。 向 中? 事实上,标题似乎在GenericMessage中“消失”了: 我不明白为什么HTTP请求中会
我正在使用docker运行datadog代理 我想使用dogstatsd发送自定义指标。当我运行 我可以在wireshark中看到,udp数据包成功地从源到目标,但这个指标没有提交给datadog。我缺少一些配置吗?
主要内容:Maven依赖关系,自定义HTTP头示例HTTP消息可以包含许多描述消息属性的标头,例如内容长度,内容类型,授权等。 HttpClient提供了检索,添加,删除和枚举标头的方法。 在下面的教程中,我们将演示如何将自定义HTTP头添加到HttpClient和Http请求方法。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache HttpClient 4.5版本。 将以下依赖项添加到您的项目中。 pom.xml 文件的
我在API中有一些endpoint-<代码>/用户/登录 ,<代码>/产品 。 在Swagger用户界面中,我将和发送到,作为响应,我收到一个字符串。 然后,我可以从响应中复制令牌,并希望将其用作请求中的头值(如果存在的话),并将其用作。 我应该手动创建一个文本输入上的某个地方吗
问题内容: 澄清点:将自定义标头添加到我的jQuery ajax调用中没有任何问题,我想将我的自定义标头自动添加到所有ajax调用中。 如果您看看jquery $.ajax自定义http标头问题(不是我的问题),您将看到一个很好的示例,说明如何为每个ajax调用手动实现代码。 我想为所有jQuery ajax调用覆盖beforeSend。根据jQuery文档,我可以使用jQuery.ajaxSet