Cross-Origin Resource Sharing (CORS) est une norme qui permet Ă un serveur d'assouplir la politique de mĂȘme origine.
Celle-ci est utilisĂ©e pour autoriser explicitement certaines requĂȘtes provenant d'autres sources tout en en rejetant d'autres. Par exemple, si un site offre un service intĂ©grable, il peut ĂȘtre nĂ©cessaire d'assouplir certaines restrictions. La configuration d'une telle configuration CORS n'est pas nĂ©cessairement facile et peut prĂ©senter certains dĂ©fis. Dans ces pages, nous examinerons quelques messages d'erreur CORS courants et comment les rĂ©soudre.
Si la configuration CORS n'est pas correctement effectuée, la console du navigateur affichera une erreur du type "Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at $somesite"
("RequĂȘte Cross-Origin bloquĂ©e : La politique de mĂȘme origine interdit la lecture de la ressource distante Ă $somesite"
en français) indiquant que la demande a Ă©tĂ© bloquĂ©e en raison d'une violation des rĂšgles de sĂ©curitĂ© de CORS. Cependant, ce n'est pas nĂ©cessairement une erreur de configuration. Il est possible que la demande soit en fait intentionnellement refusĂ©e par l'application web de l'utilisateur et le service externe distant. Toutefois, si le terminal est destinĂ© Ă ĂȘtre disponible, un certain dĂ©bogage est nĂ©cessaire pour y parvenir.
Identifier le problĂšme
Pour saisir la cause de l'erreur, il faut prĂ©alablement dĂ©couvrir la requĂȘte fautive, ainsi que la configuration erronĂ©e. Ces Ă©tapes peuvent ĂȘtre utiles au processus:
- Rendez-vous sur le site défaillant et ouvrez les Developer Tools.
- Essayez de reproduir la requĂȘte qui Ă©choue et vĂ©rifiez la console pour trouver les messages de violation CORS, ce qui tournerait autours de:
Le text de l'erreur sera probablement similaire Ă :
Cross
Messages d'erreur CORS
Firefox affiche les erreurs dans la console lors d'Ă©chec de requĂȘte CORS. Ce message contient entre autres un champ "reason" donnant un meilleur contexte quant Ă la raison de l'Ă©chec de la requĂȘte. Ces messages sont listĂ©s ci-dessous; chacun de ces liens pointent vers un article plus spĂ©cifique et contenant des pistes de solution.
- Raison: CORS désactivé
- Raison: la requĂȘte CORS a Ă©chouĂ©
- Raison: l'en-tĂȘte CORS âOriginâ ne peut pas ĂȘtre ajoutĂ©
- Raison: RequĂȘte CORS redirection externe non autorisĂ©e
- Raison: RequĂȘte CORS non http
- Raison: En-tĂȘte CORS âAccess-Control-Allow-Originâ manquant
- Raison: l'en-tĂȘte CORS âAccess-Control-Allow-Originâ ne correspond pas Ă âxyzâ
- Raison: les informations d'identification ne sont pas prises en charge si l'en-tĂȘte CORS âAccess-Control-Allow-Originâ est â*â
- Raison: MĂ©thode introuvable dans l'en-tĂȘte CORS 'Access-Control-Allow-Methodsâ
- Raison: âtrueâ attendu dans l'en-tĂȘte CORS âAccess-Control-Allow-Credentialsâ
- Raison: Ăchec du canal de contrĂŽle en amont CORS
- Raison: jeton âxyzâ non valide dans l'en-tĂȘte CORS âAccess-Control-Allow-Methodsâ
- Raison: jeton âxyzâ non valide dans l'en-tĂȘte CORS âAccess-Control-Allow-Headersâ
- Raison: jeton âxyzâ manquant dans l'en-tĂȘte CORS âAccess-Control-Allow-Headersâ du canal de contrĂŽle en amont CORS
- Raison: plusieurs en-tĂȘtes CORS âAccess-Control-Allow-Originâ ne sont pas autorisĂ©s
Voir aussi
- Glossaire: CORS
- CORS introduction
- ParamÚtres CORS cÎté serveur
- Image compatible CORS
- Attributs des paramĂštres CORS
- https://www.test-cors.org â une page pour tester les requĂȘtes CORS