文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

出前館のamazonペイメントで「セッションの有効期限が切れました」となる場合の対処法

これ、絶対出前館の実装が悪くて、困っている方がいるかもしれないので、簡単な解決方法を書いてみます。
f:id:treeapps:20150830210711p:plain
著者:victoria white2010

出前館

サイト

出店数が非常に多い出前専門サイトです。最近amazonペイメントでの支払いに対応したようです。

運営会社

出前館のサイトのフッターを見ると、以下のように書いてありました。
Copyright:(C) 1999-2015 Yume no Machi Souzou Iinkai Co., Ltd. All Rights Reserved.
これは「夢の街創造委員会株式会社」ですね。昔株式市場でIPO上場で株価を乱高下させていたあの夢の街です。

セッションの有効期限が切れました


最近出前館がamazonペイメントに対応してくれたおかげで、amazonに登録したクレカ情報使って出前館で出前できて楽だわ〜。よーし今日は中華にすっか。

f:id:treeapps:20150830203314p:plain

今日もamazonペイメントで購入するぞ

f:id:treeapps:20150830203348p:plain

セッションが切れた?で、どうしたら解決できるのこれ・・・????

出前をよく使う方は、この状況に出くわす機会がたまにあるのではないでしょうか。

環境

ログイン種別
  • 出前館のアカウント
  • Amazonアカウント
  • Yahoo Japan ID

出前館では以上3種類のいずれかのアカウントでログインできますが、今回のこの現象が発生したのは、出前館アカウントでのログインの場合です。

どうなるか

以前amazonペイメントを使い、amazon側でログインし、普通に出前できた。しかし今日再びamazonペイメントを利用しようとしたら、急に「セッションの有効期限が切れました」と言われた。戻るボタンで戻っても、amazonペイメントはログイン済み状態として扱われているようで、amazonペイメントをログアウト→ログインとしようとしてもできません。

amazonペイメントにログインし直したいのに↓こうなりません。
f:id:treeapps:20150830204715p:plain
↓こうなってしまいます。次のページへ行くと「有効期限切れ」と言われるのに、この画面では「ログイン済み」として扱われており、矛盾した状態になっています。
f:id:treeapps:20150830203314p:plain

解決法

さっそく解決法ですが、簡単です。

一旦出前館自体のアカウントをログアウトし、ログインし直すだけで解決します

再ログインによって出前館が持つamazonペイメントのログイン状態が再作成され、セッション有効期限切れ情報がクリアされるようです。

chromeで確認しましたが、サイト名「demae-kan.com」の「amazon_login_state_cache」というcookie(Local Storageかも)が、出前館でのamazonペイメントの有効期限状態を管理しているようで、セッション期限切れが起きる状態でこのcookieを削除したら、amazonペイメントがログアウトされ、再度ログインできる状態になりました。

雑感

これ放置してるのって凄いなあと思います。

この問題はブラウザに依存せず発生するので、「なんだよこれ!出前館クソサイトじゃねえか!二度と使わねえよオラーン!!!」と、怒って離れていってしまったユーザも沢山いるのではないでしょうか。その機械損失額がいかほどなのか、気になるところですね。

せっかくamazonペイメントが利用できるようになったので、こういう挙動を直さないせいでユーザ離れがおきる可能性もあるので、私達開発者はこういったユーザの利便性とかにも常に気を使っていきたいですね。