CORS avec Spring

CORS avec Spring

Dans tout navigateur moderne, le partage de ressources d’origine croisée (CORS) est une spécification pertinente avec l’émergence de clients HTML5 et JS qui consomment des données via les API REST. Dans de nombreux cas, l’hôte qui dessert le JS (par exemple example.com) est différent de l’hôte qui sert les données (par exemple api.example.com). Dans un tel cas, CORS permet la communication entre domaines.

Spring fournit un support de première classe pour CORS, offrant un moyen simple et puissant de le configurer dans n’importe quelle application Web Spring ou Spring Boot.

Configuration globale de CORS

Spring nous permet de définir une configuration globale CORS à partir de vos contrôleurs. Par défaut, toutes les origines et les méthodes GET, HEAD et POST sont autorisées.

JavaConfig

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**");
}
}

L’exemple ci-dessus active les requêtes CORS de n’importe quelle origine vers n’importe quel point de terminaison dans l’application.

Si nous voulons verrouiller cela un peu plus, la méthode Registry.addMapping renvoie un objet CorsRegistration qui peut être utilisé pour une configuration supplémentaire. Il existe également une méthode allowedOrigins que vous pouvez utiliser pour spécifier un tableau d’origines autorisées. Cela peut être utile si vous devez charger ce tableau à partir d’une source externe lors de l’exécution.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *