Hi David,
I have viewed the 1.1 source code revision 667 and it seems that the
bug 478890 is not fixed completely
In HttpHandler, the following source code has setDomain to low layer
server based on Play Framework cookie.domain
if (cookie.domain != null) {
c.setDomain(cookie.domain);
}
However, application developers cannot use the the cross domain
because the following source in Http doesn't support setting domain
for Play Framework cookie
/**
352
* Set a new cookie
353
* @param name Cookie name
354
* @param value Cookie value
355
*/
356 410
public void setCookie(String name, String value) {
357
setCookie(name, value, (Integer) null);
358 288
}
359 410
360 288
/**
361
* Set a new cookie that will expire in (current) + duration
362
* @param name
363
* @param value
364
* @param duration Ex: 3d
365
*/
366 410
public void setCookie(String name, String value, String
duration) {
367
int expire = Time.parseDuration(duration);
368
setCookie(name, value, Integer.valueOf(expire));
369 288
}
370 410
371 288
public void setCookie(String name, String value, Integer
maxAge) {
372 46
if (cookies.containsKey(name)) {
373 32.1.50
cookies.get(name).value = value;
374 410
if (maxAge != null) {
375
cookies.get(name).maxAge = maxAge;
376
}
377 32.1.50
} else {
378
Cookie cookie = new Cookie();
379
cookie.name = name;
380
cookie.value = value;
381 410
if (maxAge != null) {
382
cookie.maxAge = maxAge;
383
}
384 32.1.50
cookies.put(name, cookie);
385
}
386 32.1.3
}
The Play Framework need to provide more methods with domain for cookie
in Http in order to fix cross domain and session sharing.
Thanks,