この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
LINE 事業部の太田です。
LIFFアプリのAPIを作る際にLiffのIDTokenによる認証を作るのですが、プロジェクト毎に同じような処理を個々に作っています。
都度、実装者がやり方を調べて対応している状況なので処理の共通化とナレッジの共有を目的として、lifft-upというライブラリを作成したので紹介させていただきます。
機能紹介
APIでの認証
APIでの認証はLIFFアプリで取得したIDTokenをサーバーに送信して、サーバー側でIDトークンの検証してOKであればAPIとの疎通を許可します。
処理のイメージとしては以下です。
参考:IDトークンを送信してユーザー情報を取得する
lifft-upで共通化するのは上図の赤枠の部分です。
lifft-upの使い方
インストール
yarn add @classmethod/lifft-up
IDTokenの検証
検証にはLIFFアプリのIDTokenとLiff Channel IDが必要になります。
import * as lifftUp from '@classmethod/lifft-up'
(async () => {
// https://developers.line.biz/ja/reference/liff/#get-id-token
const idToken = <your id token>
// LiffのチャンネルID
const clientId = <your liff channel id>
// 認証に成功するとユーザー情報などが返ってくる
const payload = await lifftUp.authorizer(idToken, clientId)
})()
最後に
以上、lifft-upの紹介をさせていただきました。
まだIDTokenの認証機能しかないですが、今後の対応予定のものをissuesで管理しています。