Drupal 8 tiene un servicio web RESTful incorporado en el núcleo y desde 8.2 no necesitamos el módulo cors .
Ahora para usar los servicios, solo habilitamos y configuramos el archivo default.service.yml como se especifica aquí
Sin embargo, no pude configurar esta configuración para permitir el acceso al servicio web en otro dominio.
Mi configuración actual de service.yml para cors es:
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
Busqué en Google para encontrar una configuración más detallada sobre esto, pero no pude encontrar una.
Estoy creando esto para el desarrollo de pruebas en dos dominios diferentes.
Uso del entorno de desarrollo de pantheon para servicios web y dominio .dev personalizado localhost para consumir esos servicios.
El acceso al servicio funciona bien con la extensión Chrome CORS.