Play FrameworkでSecure Cookie対応するまでの道のり
TIME rest time current/total
TopicsPlaceHolder

Play FrameworkでSecure Cookie対応するまでの道のり

Play meetup #2

Jul 5th, 2015

Profile

songmu

Mackerel Logo

 

YAPC::Asia 2015で話します

Mackerel開発におけるScalaとGo、そしてPerl

Mackerel

ちゃんとhttps化する上で

session.secure=true を設定する?

scala/play/api/http/HttpConfiguration.scala

secure = config.getDeprecated[Boolean]("play.http.session.secure", "session.secure"),

レスポンスを確認

play2-auth

PLAY2AUTH_SESS_IDをsecureにする方法

AuthConfig.cookieSecureOptionをoverride (default false)

trait AuthConfigImpl extends AuthConfig {
  override lazy val cookieSecureOption: Boolean = Config.config.getBoolean("session.secure").getOrElse(true)
}

AuthConfig.cookieSecureOptionもまたdeprecated…

play2/auth/AuthConfig.scala

@deprecated("it will be deleted since 0.14.0. use CookieTokenAccessor constructor", since = "0.13.1")
lazy val cookieSecureOption: Boolean = false

とはいえPLAY2AUTH_SESS_IDもsecureに!

あれ?

関連issue

PLAY_FLASHをsecureに設定する方法

orz

結論と雑感

Play 2.4以降なら 以下を設定しておけば安心

play.http.session.secure=true
play.http.flash.secure=true

アプリケーションのデフォルト設定は安全側に倒れてて欲しいけど、secure cookieのオプションのデフォルトがtrueだとローカル開発がいきなりでなかったりして初心者にやさしくなかったりするのでその辺フレームーワーク作者にとって悩ましそう

以上

We are Hiring

hatena