Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java批处理应用程序访问受OAuth2保护的api_Java_Spring Boot_Spring Security_Oauth 2.0_Microservices - Fatal编程技术网

从Java批处理应用程序访问受OAuth2保护的api

从Java批处理应用程序访问受OAuth2保护的api,java,spring-boot,spring-security,oauth-2.0,microservices,Java,Spring Boot,Spring Security,Oauth 2.0,Microservices,我有Springboot Microservice应用程序(Discovery、Eureka客户端、Zulu代理、网关),它配置了OAUTH2,运行正常。 OAUTH2被配置为内存内令牌存储。我有休息终点 例: 本地主机:8080/hello/gateway 现在我有了java批处理,它将调用micro service应用程序网关示例(上面的api)以获得所需的响应。因为它受OAUTH2保护,所以我不能直接访问api 有没有一种方法可以在没有令牌的情况下访问api,或者我们可以通过从批处理中传

我有Springboot Microservice应用程序(Discovery、Eureka客户端、Zulu代理、网关),它配置了OAUTH2,运行正常。 OAUTH2被配置为内存内令牌存储。我有休息终点

例:

本地主机:8080/hello/gateway

现在我有了java批处理,它将调用micro service应用程序网关示例(上面的api)以获得所需的响应。因为它受OAUTH2保护,所以我不能直接访问api

  • 有没有一种方法可以在没有令牌的情况下访问api,或者我们可以通过从批处理中传递硬编码令牌并在网关中进行验证来绕过授权逻辑
  • 尝试创建一个未过期的令牌,但由于它是内存中的令牌,因此在api重新启动后它将不工作
  • 很想创建一个自定义过滤器,但它没有按预期工作。下面是我的资源服务器代码

如果有什么好方法,请告诉我,我们非常感谢您的建议。

是的,我们已经覆盖了WebSecurity配置适配器配置方法以忽略特定端点

@Override
public void configure(final WebSecurity web) throws Exception {
    web.ignoring().antMatchers("/testService/testApi/**");
}
现在,我可以从批处理中访问Api,而忽略了web安全中的端点

@Override
public void configure(final WebSecurity web) throws Exception {
    web.ignoring().antMatchers("/testService/testApi/**");
}