http - control - Intercambio de recursos Cross Origin con credenciales
http header origin (2)
Dos pensamientos:
1) ¿También está incluyendo el encabezado "Access-Control-Allow-Credentials: true"? Esto es necesario para pasar credenciales de cookies (y el cliente XHR correspondiente debe establecer .withCredentials = true)
2) ¿Ha probado la sugerencia de su enlace y solo incluye el origen de la solicitud actual? Por ejemplo, si aparece una solicitud con el encabezado "Origen: http://blog.example.com ", respondería con "Access-Control-Allow-Origin: http://blog.example.com ", y no una lista de orígenes. Esto requiere un poco más de trabajo en la implementación del lado del servidor.
3) Otro pensamiento, mencionas que tienes un único formulario de inicio de sesión que debe ser compartido por varios dominios. Bueno, si se trata de un formulario HTML estándar, puede hacer una publicación de formulario regular en todos los dominios. No necesita usar CORS. Simplemente establece la propiedad "acción" del formulario en la url que deseas publicar. Por ejemplo:
<form name="login" action="http://login.example.com/doLogin">
Tengo un formulario de autenticación común en múltiples subdominios (example.com, blog.example.com y app.example.com). El formulario de inicio de sesión debe enviar esta información a example.com independientemente de dónde se muestre, así que pensé en usar CORS, pero esto:
header("Access-Control-Allow-Origin: http://example.com http://blog.example.com http://app.example.com")
Así que pensé en hacer lo siguiente, y verificar manualmente el encabezado Origen en el lado del servidor, y permitir un Access-Control-Allow-Origin: *
para que se puedan realizar las solicitudes, pero desafortunadamente, esto aparece en el MDN
Nota importante: al responder a una solicitud con credencial, el servidor debe especificar un dominio y no puede usar el cardado comodín.
¿Hay alguna manera de hacer que mi solicitud funcione en varios dominios, y todavía enviar credenciales usando CORS?
// cross domain
header("Access-Control-Allow-Origin: ".$_SERVER[''HTTP_ORIGIN'']);
header(''Access-Control-Allow-Credentials: true'');