Hi,
ich habe einen Spring Boot Resource Server von Basic Auth nach OAuth2 umgestellt was jetzt zur Folge hat, dass meine Integrations-Tests nicht mehr laufen. Mein Problem ist jetzt aber, dass ich diese leider nicht mehr zum laufen bekomme, ich komme immer wieder beim selben Fehler raus.
Hierbei habe ich folgendes versucht.
Folgende Versionen führen zum selben Ergebnis.
Ich bin jetzt naiverweise schon davon ausgegangen, dass der JwtDecoder ebenfalls autoconfigured wird, da davon auch nichts in der Doku steht. Auch wenn ich danach suche, finde ich nur
github.com
was ich eben nicht machen möchte, ich will den User ja mocken,
oder
stackoverflow.com
was ja auch nicht sein kann, denn es läuft ja als test.
Ich habe jetzt nicht getestet ob es an Junit 4 vs Junit 5 zu tun hat, denn ich will eigentlich nicht zu 4 zurück.
Vielleicht habe ich auch gerade die falschen Schlagwörter oder ich habe mich gerade total fest gefahren. Schupst mich mal bitte in eine andere Richtung.
ich habe einen Spring Boot Resource Server von Basic Auth nach OAuth2 umgestellt was jetzt zur Folge hat, dass meine Integrations-Tests nicht mehr laufen. Mein Problem ist jetzt aber, dass ich diese leider nicht mehr zum laufen bekomme, ich komme immer wieder beim selben Fehler raus.
Java:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.security.oauth2.jwt.JwtDecoder' available
Hierbei habe ich folgendes versucht.
Java:
@ExtendWith({SpringExtension.class})
@ContextConfiguration(classes = SecurityConfig.class)
class FooControllerTests {
private MockMvc mockMvc;
@Autowired
public FooControllerTests(WebApplicationContext context) {
mockMvc = MockMvcBuilders.webAppContextSetup(context)
.apply(SecurityMockMvcConfigurers.springSecurity())
.build();
}
@Test
@WithMockUser()
void listAll() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/foo"))
.andDo(MockMvcResultHandlers.print())
.andExpect(MockMvcResultMatchers.status().isOk());
}
}
Java:
@SpringBootTest
class FooControllerTests {
Java:
@WebMvcTest(value = {FooController.class, SecurityConfig.class})
class FooControllerTests {
Ich bin jetzt naiverweise schon davon ausgegangen, dass der JwtDecoder ebenfalls autoconfigured wird, da davon auch nichts in der Doku steht. Auch wenn ich danach suche, finde ich nur
No qualifying bean of type 'org.springframework.security.oauth2.jwt.JwtDecoder' · Issue #48 · okta/samples-java-spring
executing mvn spring-boot:run results in: ... Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2019-06-12 11:45:32.791 ERROR 81700 -...
oder

Heroku deployment error "required a bean of type 'org.springframework.security.oauth2.jwt.JwtDecoder' that could not be found."
I am trying to deploy my springboot app to heroku but I am getting an error that it cannot find a JwtDecoder bean. I have tried googling it a bit but can't find anything that helps. Everything work...
Ich habe jetzt nicht getestet ob es an Junit 4 vs Junit 5 zu tun hat, denn ich will eigentlich nicht zu 4 zurück.
Vielleicht habe ich auch gerade die falschen Schlagwörter oder ich habe mich gerade total fest gefahren. Schupst mich mal bitte in eine andere Richtung.