現在golangのGinを用いてWebアプリケーションを開発しています。
Webブラウザよりログイン画面を表示しログイン成功後
sessionにユーザ情報等の値を設定しています。
ログイン後の画面遷移する際は、ミドルウェアの機能にて
session内から設定した値を取得し、ログインしているかどうか確認しています。
セキュリティの観点からCookieに対して有効期限を設定したく以下のようなコードを書きました。
main.go
go
1~~省略~~ 2router := sw.NewRouter() 3router.Run(":8080")
router.go
go
1~~省略~~ 2func NewRouter() *gin.Engine{ 3store := cookie.NewStore([]byte("secret")) 4store.Options(sessions.Options{MaxAge: 3600 * 12}) 5router.Use(sessions.Sessions("mysession", store)) 6~~省略~~ 7}
sessionSet.go
go
1~~省略~~ 2session := sessions.Default(c) 3session.Set("Flag","OK") 4
sessionGet.go
go
1~~省略~~ 2session := sessions.Default(c) 3flag := session.Get("Flag") 4log.Println(flag)
実際に動かすとstore.Options(sessions.Options{MaxAge: 3600 * 12})があると
sessionから値を取得にてもnilとなってしまいます。
切り分けのためにMaxAgeの値を大きくしてみたりしたのですが、動作に代わりがありませんでした。
ginのCookieに対してMaxAgeの設定方法を教えていただけないでしょうか。
あなたの回答
tips
プレビュー