LIFF v2.26.1をリリースしました。
LIFF v2.26.1では、以下の不具合を修正しました。
LIFFアプリでは、LIFF URLにアクセスすると、1次リダイレクト先URLに遷移した後、2次リダイレクト先URLに遷移します。この2次リダイレクト先URLのパスの末尾にスラッシュ(/
)を付与する条件に不具合があり、意図しない2次リダイレクト先URLに遷移する場合がありました。
LIFF v2.26.0以前では、次のいずれかの条件を満たす場合に2次リダイレクト先URLの末尾にスラッシュ(/
)を付与していました。
- エンドポイントURLがスラッシュ(
/
)で終わる liff.state
がスラッシュ(/
)で終わる
たとえば、LIFFアプリのエンドポイントURLがhttps://example.com/?key=value/
で、アクセスするLIFF URLがhttps://liff.line.me/1234567890-AbcdEfgh/foo/bar
の場合、正しい2次リダイレクト先URLはhttps://example.com/foo/bar?key=value/
となります。
しかし、ここでは「エンドポイントURLがスラッシュ(/
)で終わる」という条件を満たすため、実際はパスの末尾にスラッシュ(/
)を付与したhttps://example.com/foo/bar/?key=value/
に遷移していました。
正しい2次リダイレクト先URL | 実際の2次リダイレクト先URL |
---|
https://example.com/foo/bar?key=value/ | https://example.com/foo/bar/?key=value/ |
LIFF v2.26.1では、次のいずれかの条件を満たす場合に2次リダイレクト先URLの末尾にスラッシュ(/
)を付与するよう修正しました。これにより、正しい2次リダイレクト先URLに遷移するようになりました。
- エンドポイントURLのパスがスラッシュ(
/
)で終わる liff.state
のパスがスラッシュ(/
)で終わる
LIFF URLにアクセスした際の動作について詳しくは、『LIFFドキュメント』の「LIFF URLにアクセスしてからLIFFアプリが開くまでの動作について」を参照してください。
LIFFアプリでは、liff.init()
メソッドがresolveされたタイミングで、URLからアクセストークンなどの機密情報が除外されます。このとき、一部の環境において、ブラウザのセッション履歴のPOSTリクエストがGETリクエストに置き換わる不具合がありました。
LIFF v2.26.1では、正しい履歴が保持されるよう不具合を修正しました。
たとえば、次の流れでLIFFアプリを操作するとします。
- LIFFアプリを開く
- POSTリクエストで
/path1
に遷移する - GETリクエストで
/path2
に遷移する - ブラウザの戻るボタンをクリックする
このとき、LIFFアプリはPOSTリクエストで/path1
に遷移することが期待されますが、一部の環境ではGETリクエストで/path1
に遷移していました。
CDNエッジパス(https://static.line-scdn.net/liff/edge/2/sdk.js
)を利用している場合は、自動でv2.26.1にアップデートされています。
npmパッケージを利用している場合は、npm install @line/liff@2.26.1
もしくはyarn add @line/liff@2.26.1
を実行するとv2.26.1にアップデートされます。
LIFF SDKの組み込み方法について詳しくは、『LIFFドキュメント』の「LIFFアプリにLIFF SDKを組み込む」を参照してください。