# CORS und Preflight Problem bei REST API Zugriff

**URL:** https://forum.shopware.com/t/cors-und-preflight-problem-bei-rest-api-zugriff/72296
**Category:** Programmierung
**Created:** [23. Januar 2021 um 16:53 UTC](https://forum.shopware.com/t/cors-und-preflight-problem-bei-rest-api-zugriff/72296 "2021-01-23T16:53:12Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Srcaft](https://avatars.discourse-cdn.com/v4/letter/s/50afbb/32.png) [@Srcaft](https://forum.shopware.com/u/Srcaft)
#### Post date: [23. Januar 2021 um 16:53 UTC](https://forum.shopware.com/t/cors-und-preflight-problem-bei-rest-api-zugriff/72296/1 "2021-01-23T16:53:12Z")

</div>

Hallo zusammen,

aktuell versuchen wir ein auf javascript basierendes System mit unserer Shopware 5 REST Api zu verbinden. Leider klappt das nicht so recht. Bei API Aufrufen kam es erst zu dieser Fehlermeldung:

```
Access to XMLHttpRequest at 'https://unser-shop.com/api/articles/2387' from origin 'https://client.test.de' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value 'https://sub.test.de' that is not equal to the supplied origin.

```

Daraufhin habe ich in der .htaccess Datei des Shops&nbsp;folgendes hinzugefügt:

```
Header set Access-Control-Allow-Origin: https://client.test.de

```

(bzw auch mit "Header set Access-Control-Allow-Origin „\*“ getestet)  
In beiden Fällen war der erste Fehler weg, aber es kommt stattdessen zu folgender Fehlermeldung:

```
Access to XMLHttpRequest at 'https://unser-shop.com/api/articles/2387' from origin 'https://client.test.de' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

```

Bei API Aufrufen direkt auf unserem Server über PHP gab es hingegen keine Probleme. Jemand eine Idee wie sich das Problem lösen lässt?

EDIT:

Ich konnte das Problem lösen:

An den Anfang der Shopware .htaccess Datei, nach „RewriteEngine on“ folgendes hinzufügen:

```
Header append X-Frame-Options SAMEORIGIN
# allow cross-site requests
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
Header always set Access-Control-Allow-Headers "*, Authorization, authorization"

RewriteEngine on
# always return 200 for preflight OPTIONS requests
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

```

Um den Cross Site Zugriff auf eine bestimmte Domain einzugrenzen muss dann noch folgende Zeile angepasst werden:

```
Header always set Access-Control-Allow-Origin "*"

```

&nbsp;Und zwar zu:

```
Header always set Access-Control-Allow-Origin "https://deine-cross-site-domain.org"

```

Quelle:

[https://www.rent-a-hero.de/2017/10/09/die-shopware-rest-api-von-javascript-aus-nutzen/](https://www.rent-a-hero.de/2017/10/09/die-shopware-rest-api-von-javascript-aus-nutzen/)
