我有一個域名a.domain.com(http)上的單個頁面應用程序(SPA),它連接到b.otherdomain.com(https)上的api上播放2(scala )。播放sesion cookie不是由Safari發送的
加載SPA後,用戶輸入的是憑證,應用程序會對https://b.otherdomain.com.com/login進行ajax調用。
/login設置了Play cookie,下面的請求已經過很好的驗證。 一切適用於Chrome和Firefox(因爲CORS的限制,不是IE)。
它應該在Safari上工作,但在/ login調用之後,cookie不會被髮送回以下請求,因此play會返回「401未經授權」響應。
這是我的服務器端的錯誤或配置錯誤嗎? 我是否必須更改application.session.httpOnly和application.session.secure?
以下是我從Safari檢查見:
/login headers :
URL de la requête:https://b.otherdomain.com//login
Méthode de la requête:POST
Code d’état:200 OK
En-têtes de requêteafficher la source
Accept:application/json, text/plain, */*
Content-Type:application/x-www-form-urlencoded
Origin:http://a.domain.com.com
Referer:http://a.domain.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
Données du formulaireafficher l’URL codée
email:[email protected]
password: foofoo
En-têtes de réponseafficher la source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://a.domain.com
Connection:keep-alive
Content-Length:31
Content-Type:text/plain; charset=utf-8
Set-Cookie:PLAY_SESSION=a71f93e3315fa9164dd7112841ccdb4a0f0c447b- sessionId%3A6gtu7%21z.5i%218d%29v8yxy693n-s6zsuejpav_p67f9hb%7Ej%274h2de*jx3g35p%7Egzo0u;Path=/;HTTPOnly
Strict-Transport-Security:max-age=31536000
following request :
URL de la requête:https://b.otherdomain.com/users
Méthode de la requête:GET
Code d’état:401 Unauthorized
En-têtes de requêteafficher la source
Accept:application/json, text/plain, */*
Origin:http://a.domain.com
Referer:http://a.domain.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
En-têtes de réponseafficher la source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://a.domain.com
Connection:keep-alive
Content-Length:24
Content-Type:text/plain; charset=utf-8
Strict-Transport-Security:max-age=31536000
感謝您的幫助
這聽起來像是在以下鏈接SO相同的問題;如果它是一個可重現的問題,它可能是一個Safari錯誤:http://stackoverflow.com/questions/14206531/mobilesafari-wont-send-back-cookies-set-with-cors – monsur