Q&A

LIFF v2.8.1でのliff.readyの挙動について

いつも大変お世話になっております。 以下、アドバイス頂けますと幸いです。

前提・実現したいこと

liffの最新版(現在はv2.8.1)で、2次リダイレクトをする直前に、liff.getIDTokenで発行したトークンをクッキーにセットしたい。

発生している問題・エラーメッセージ

以下のソースコードで、liffのv2.6.0では、liff.init実行後、 liff.ready.thenが実行され、トークンをクッキーにセットしたあと、2次リダイレクトが発生する。 しかし、liffのv2.8.1では、liff.initが実行後、liff.redy.then以降が実行されず、2次リダイレクトが発生する。

該当のソースコード

liff.init({ liffId: this.liff_id })
liff.ready.then(()=>{ 
	try {
		VueCookies.set('IDToken', liff.getIDToken())
	}catch(e) {
		console.log(e)
	}
})

試したこと

beforeunloadを使ってリダイレクトの直前にクッキーをセットしようとしても、上手くいかず。

補足情報(FW/ツールのバージョンなど)

リリースノート を確認したところ、恐らくliff.init後、二次リダイレクトの直前でresolveしなくなったのが原因ではないかと思われる。 しかし、現在作成しているプログラムが、一次リダイレクトの直前でトークンをクッキーにセットすることを前提に設計しているため、修正の工数などを考えると、可能であれば一次リダイレクトの直前で対応したい。

  • 0
  • 3
  • 2437
  • twitter facebook

一応、「バグ・障害報告」タグを付けておきます。

  • 0

CVCさん ご回答いただき、ありがとうございます! LIFF v2.5.で試してみました。やはりliff.readyを使用すると、一次リダイレクトの直前でクッキーにセットできていました。(LIFFブラウザを使っているからですかねぇ。。) 一応v2.7でも検証してみたのですが、やはり一次リダイレクトの直前でセットできるので、v2.8以降出来なくなってしまったのかなと思われます。 ちなみに昨日リリースされたliff v2.9でもセットできませんでした。。

  • 0

私も少し前に同様のことをやろうとしていましたが、1次リダイレクトの直前での設定は難しいかと思います。 私が試したバージョンは、2.5だったと思うのでできるようになっていたらすみません。。

  • 0
本当によろしいですか? question.vm