iPhoneのLINEでURLを開くとサファリには残らない

バレンタインデーにクッキーがバラバラに

こんにちは、こたかです。

今日は2/14バレンタインデーでしたが、なんとクッキーがバラバラになっていたお話です。

認証したいのに思いが伝わらなかった

LINEにURLリンクを送ることはよくあるかと思いますが、そのURLを開くと、LINE付属のブラウザーでWEBサイトを閲覧できます。

そして、サイト内で認証を済まして、サファリで開いたところ事件が発生しました。認証が無かったことに!!これはどうしたの?

LINEとサファリは別アプリ

WindowsではメーラーなどURLを開くとき、ブラウザーから開く動作をしますが、iPhoneのLINEはLINEの中で開いてしまうという動作の違いがあるようです。
一瞬、サファリで開いていたのでは?と思いましたが、LINEでWebを開いたときに、右下に「・・・」のアイコンがあり、そこに、
「デフォルトのブラウザーで開く」があります。これで開くとデフォルトのブラウザー(通常はサファリ)で開くことができます。
この「認証が無かったことになる現象」は、iPhone側でブラウザーとは別のアプリでWebサイトを参照し認証したため、別なアプリにクッキーが保存されてしまったことが原因のようです。

サーバー側でLINEをブロック

そこで、Webサイト側でユーザーエージェント(User Agent)の文字列からLINEを判別し、LINEからのアクセスをHTTP403で応答し、ブロックする対策としました。
これにより、ユーザーが間違ってLINEで開いた場合は、その旨メッセージを表示し、デフォルトのブラウザーで開くように促すことができます。

効果は期待できそう

実際に、こたかもアクセスして状況を確認してみました。うっかりLINEで開いたことを忘れていても画面が出ない動作はインパクトがあり、ブラウザーで開きなおすことができました。
今後、ユーザーさんも同じようにブラウザーで開きなおしができるか楽しみです。

シンプルに問題が回避できる方法がちょうど良い

認証機能の再設計まで検討していましたが、意外とシンプルに解決できて良かったです。
問題が起きたときに、なるべくシンプルに解決できる方法を見つけていきたいと思いました。

今日はバレンタインデーなので、クッキーのお話がちょうどいい?こたかのクッキーのお話でした。
それでは、また次の記事でお会いしましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です