LIFFで繰り返しログイン画面が表示されるバグに出会った時にやったこと
沼って数日間吹っ飛ばしたのでメモ。未来の誰かの時間を削減できると嬉しい。
事象
個人情報が含まれるので動画は投稿できないが、次のようなLINEのログイン画面が半無限に表示されるというバグ。("ログイン"を押してもすぐに再度 access.line.me
にリダイレクトされる)("半"無限というのは何回もリトライするとタイミング次第でうまく行く時があるから)
再現条件
なんらか liff.init
の時のURLとエンドポイントURL(もしくはエンドポイントURL + アクセス時に後ろについていたパス?)が違う場合に発現する模様です。(正直LIFFのSDK読み込んだわけではないので断言はできない)(難読化されたものを読みたくない & 読めない)
私の場合はランディング後のページ切り替えが速過ぎたせいで再現したみたいでした。(ちなみになぜかAndroidでしか再現しませんでした)
私が今開発しているアプリでは /
にアクセスした後、ログイン状態によって /signin
のようなパスに切り替えていました。
解決策
LIFFとして登録しているエンドポイントのURLと、
クエリパラメータが付いたURLを比較している行を発見しました。
相違している場合、locationを書き換えている模様です。
(クエリパラメータを付与している時点で100%相違します)
今回の私の事象に対しては、パスを書き換えずにコンポーネントを出し分けるようにしまして、そうすると無事再現しなくなりました。
上記が原因である場合、Androidだけでしか再現しないのが腑に落ちないのでもしかしたら別の原因かもしれないんですが、似たようなバグが出ている場合にお役に立てれば幸いです。
Author And Source
この問題について(LIFFで繰り返しログイン画面が表示されるバグに出会った時にやったこと), 我々は、より多くの情報をここで見つけました https://qiita.com/seya/items/2e8b5f0600bf79a6dcea著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .