1
我試圖在Play框架中創建一個新會話,但它似乎並不堅持。.withSession()在Play 2.0中不起作用
獲得OpenID結果後,我想將它們重定向回索引(現在,無論如何),以及它們剛剛收回的OpenID信息。
Redirect(routes.Application.index).withSession(
"id" -> info.id,
"email" -> info.attributes.get("email").getOrElse("[email protected]"),
"timestamp" -> (System.currentTimeMillis()/1000L).toString)
這需要以下功能:
def index = Action { implicit request ⇒
Ok(html.index(request))
}
然而,隱含的要求,根據Eclipse的,都是空餅乾,和空會話。這裏發生了什麼?
如果有幫助,這就是OpenID的信息來自全功能:
def openIDCallback = Action { implicit request ⇒
AsyncResult(
OpenID.verifiedId.extend(_.value match {
case Redeemed(info) ⇒ {
Redirect(routes.Application.index).withSession(
"id" -> info.id,
"email" -> info.attributes.get("email").getOrElse("[email protected]"),
"timestamp" -> (System.currentTimeMillis()/1000L).toString)
}
case Thrown(t) ⇒ {
// Here you should look at the error, and give feedback to the user
Redirect(routes.Application.index)
}
}))
}