読者です 読者をやめる 読者になる 読者になる

JSONnをbase64_encodeしてCookieに入れる

Yahoo!IncのOAuthを試したくて、Yahoo!が提供するOAuthを扱うSDKを使ってみました。使い方自体は簡単でサンプル通りにやれば動いたのですが、ちょっと中身が気になったのでSDKのソースをちょこちょこと読んでみたら、OAuthというかテクニックとして少し気になるものがあったのでブログに書いておきます。
気になった部分というのは、タイトルにもあるようにJSONをbase64_encodeしてその値をCookieに入れる事です。
具体的なコードは以下の通り

setcookie("yosdk_rt", base64_encode(json_encode($requestToken)),time() + 600);

requestTokeをJSONにしてbase64_encodeしてるのがわかります。ちなみに取り出す時はこんな感じ

$requestToken = json_decode(base64_decode($_COOKIE["yosdk_rt"]));

先ほどセットしたCookieをbase64_decodeしてJSONをdecodeしてます。
こんな書き方もありなんですね。Cookieの普通の使い方ってハッシュみたいに使うものだと思ってたので、JSONデータをbase64_encodeして入れるとか頭の中にありませんでした。