Skip to content

認証

lm は3種類の認証方式をサポートしています。

longterm(デフォルト)

LINE Developers コンソールで発行した長期トークンを使用します。

bash
lm auth login
# または
lm auth login --type longterm
  • 有効期限なし(LINE 側で無効化するまで有効)
  • 開発・テスト用途に最適
  • トークンの自動更新なし

stateless(CI/CD 推奨)

Channel Secret を使って短期トークンを自動発行します。

bash
lm auth login --type stateless
? Channel ID: 1234567890
? Channel Secret: ********
Issuing stateless token...
Logged in to profile "default" (token expires 2026-05-01T00:00:00+09:00 / 2026-05-01 00:00 JST)
  • 有効期限30日。期限切れ時は自動で再発行
  • Channel Secret を credentials.yaml に保存(パーミッション 0600)
  • CI/CD パイプラインで推奨

v2(JWT assertion)

RSA 秘密鍵で署名した JWT を使ってトークンを取得します。プロダクション推奨。

bash
lm auth login --type v2
? Channel ID: 1234567890
? Private Key file path: ~/.config/lm/private.pem
Issuing v2 token via JWT assertion...
Logged in to profile "prod" with v2 token (expires ...)
  • 有効期限30日。期限切れ時は自動で再発行
  • Channel Secret の漏洩リスクがない
  • LINE コンソールでトークン発行数を管理可能

環境変数によるバイパス

LM_TOKEN を設定すると、すべての認証処理をスキップしてそのトークンを使用します。

bash
export LM_TOKEN="your-token-here"
lm bot info  # トークン検索なし、直接使用

トークン有効性チェック

スクリプトでトークンの有効性を確認できます(出力なし、exit code のみ)。

bash
if lm auth token --check; then
    echo "Token is valid"
else
    lm auth login
fi

マルチプロファイル

複数のチャネルをプロファイルで管理できます。

bash
# プロファイルを指定してログイン
lm auth login --profile staging

# プロファイル一覧
lm auth list

# プロファイル切り替え
lm auth switch staging

# 環境変数で指定
LM_PROFILE=staging lm bot info

トークン解決の優先順位

LM_TOKEN 環境変数  >  キャッシュ済みトークン  >  自動再発行  >  エラー