Play Framework の PLAY_SESSION について

2019/09/26   #Scala  #Play Framework 
このエントリーをはてなブックマークに追加

Cookie に書き込まれる PLAY_SESSION は以下のような感じ。

PLAY_SESSION=eyJhbGciOiZZUzI1NiJ9.eyJkYXRhIjp7IlgtU0VTU0lPTklEIjoiNDBhNjAxYTItOGY4Yy00OWViLWI5OWYtMDI4YzY1MjU2YWIxIiwiY3NyZlRva2VuIjoiY2IxNjU2NTY1MzMyOTkwZmNlYTNlODZlMmI0ZTQ1YzVjOTQwY2UwZC0xNTYzOTY0MzM2OTQxLWQ2ZmMxNTUwNzE4Y2QyOGQ1YjVjYjJlYSJ9LCJuYmYiOjE1Njk0MDkxMzAsImlhdCI6MTU2OTQwOTEzMH0.m2sZnZZ_u_v6VVyjA1YCq6ZG_onZZmp6BeKsZhsedmo

このうち、最初のドット以降から次のドットまでの文字列がセッションデータで、Base64 エンコードされている。
Chrome の Developer Console で、atob を使って復号してみると、

> atob("eyJkYXRhIjp7IlgtU0VTU0lPTklEIjoiNDBhNjAxYTItOGY4Yy00OWViLWI5OWYtMDI4YzY1MjU2YWIxIiwiY3NyZlRva2VuIjoiY2IxNjU2NTY1MzMyOTkwZmNlYTNlODZlMmI0ZTQ1YzVjOTQwY2UwZC0xNTYzOTY0MzM2OTQxLWQ2ZmMxNTUwNzE4Y2QyOGQ1YjVjYjJlYSJ9LCJuYmYiOjE1Njk0MDkxMzAsImlhdCI6MTU2OTQwOTEzMH0")

> "{"data":{"X-SESSIONID":"40a601a2-8f8c-49eb-b99f-028c65256ab1","csrfToken":"cb1656565332990fcea3e86e2b4e45c5c940ce0d-1563964336941-d6fc1550718cd28d5b5cb2ea"},"nbf":1569409130,"iat":1569409130}"