Nach this Spring tutorial Ich habe die folgende Bean meiner Konfigurationslogik hinzugefügt. Beachten Sie, dass ich Spring Boot verwende.CORS semi arbeiten zwischen Angular App und Spring Backend
Wenn Sie Frühlings-Boot verwenden, empfiehlt es sich, nur eine WebMvcConfigurer Bohne zu erklären, wie folgend:
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
// Just slightly modified
.allowedMethods("HEAD", "GET", "PUT", "POST",
"DELETE", "PATCH", "OPTIONS")
.allowedOrigins("*")
.allowedHeaders("*");
}
};
}
Hier ist das Ding: Ich bin in der Lage einen Benutzer aus der Client-Seite zu registrieren:
onSubmit() {
this.http.post('http://localhost:8080/register', this.registerForm.value)
.subscribe(
data => this.onRegisterSuccess(),
err => alert(err.error.message)
);
}
aber ich kann den Endpunkt für meine OAuth2 Token nicht zugreifen:
onSubmit() {
const headers = new HttpHeaders()
.set('Content-Type', 'application/x-www-form-urlencoded')
.set('Authorization', 'Basic dGVzdGp3dGNsaWVudGlkOlhZN2ttem9OemwxMDA=');
this.http.post('http://localhost:8080/oauth/token', this.loginForm.value, {headers: headers})
.subscribe(
data => this.onLoginSuccess(),
err => alert(err.error.message)
);
}
Das resultierende Gespräch:
Ich habe keine Ahnung, was das Problem ist.