Drupal 8 ma wbudowany rdzeń usługi internetowej RESTful, a od wersji 8.2 nie potrzebujemy modułu cors .
Teraz, aby korzystać z usług, po prostu włączamy i konfigurujemy plik default.service.yml, jak określono tutaj
Nie byłem jednak w stanie skonfigurować tego ustawienia, aby zezwolić na dostęp do usługi internetowej w innej domenie.
Moja obecna konfiguracja service.yml dla cors to:
cors.config:
enabled: true
# Specify allowed headers, like 'x-allowed-header'.
allowedHeaders: ['x-csrf-token,authorization,content-type,accept,origin,x-requested-with']
# Specify allowed request methods, specify ['*'] to allow all possible ones.
allowedMethods: ['POST, GET, OPTIONS, DELETE, PUT']
# Configure requests allowed from specific origins.
allowedOrigins: ['*']
# Sets the Access-Control-Expose-Headers header.
exposedHeaders: false
# Sets the Access-Control-Max-Age header.
maxAge: 1000
# Sets the Access-Control-Allow-Credentials header.
supportsCredentials: false
Poszukałem go w celu znalezienia dalszej szczegółowej konfiguracji, ale nie mogłem go znaleźć.
Tworzę to do testowania rozwoju w dwóch różnych domenach.
Korzystanie ze środowiska deweloperskiego Panteon dla usług internetowych i niestandardowej domeny .dev dla lokalnego hosta do korzystania z tych usług.
Dostęp do usługi działa poprawnie dzięki rozszerzeniu chrome CORS.