認証:Feishu / Lark

はじめに

Feishu / Lark プラグインは、Feishu または Lark アカウントで NocoBase にログインでき、オプションで自動ログイン(サイレントログイン)に対応します。

プラグインを有効にする

Feishu / Lark は商用プラグインです。ユーザー認証プラグインとともに、プラグインマネージャーでインストールして有効化してください。

オープンプラットフォームでアプリを作成

Feishu オープンプラットフォームで企業自社アプリを作成します(Lark の場合は Lark オープンプラットフォーム)。App ID と App Secret を控えてください。

ログインに追加の API 権限は不要です。連絡先同期については Feishu からユーザーデータを同期するを参照してください。

リダイレクト URL の設定

アプリのセキュリティ設定 → リダイレクト URL に、NocoBase が表示するコールバック URL を追加します:

https://あなたのドメイン/api/feishu:redirect

NocoBase の認証器設定画面に表示されるリダイレクト URL をそのままコピーするのが最も簡単です。

Warning

NocoBase をサブパス(例:APP_PUBLIC_PATH=/nocobase/)で運用する場合、コールバック URL にはプレフィックスが付きます(例:https://あなたのドメイン/nocobase/api/feishu:redirect)。オープンプラットフォームのホワイトリストの URL は実際の URL と完全に一致している必要があります。

NocoBase に Feishu 認証を追加

ユーザー認証ページで Feishu / Lark 認証器を追加します:

項目説明
自動登録初回ログイン時にアカウントを自動作成します。デフォルトで有効。
地域Feishu China または Lark Global。
App ID / App SecretFeishu アプリの資格情報。環境変数とシークレットに対応。
Originサイトの公開アドレス(例:https://example.com)。プロトコルとドメインのみでパスを含めない(末尾スラッシュは任意)。空の場合は現在のリクエストアドレスを使用。
ユーザー一意識別子フィールドユーザー識別のキー。下記を参照。
自動ログインFeishu 内でアプリを開いた際のサイレントログイン。下記を参照。

ユーザー一意識別子フィールドの選択

フィールド説明
union_id推奨。同一開発者アカウントの全アプリで共通かつ安定。
open_idアプリごとに一意。アプリを変えると変わります。
user_idテナント内で一意。マルチテナントでは衝突する可能性があります。
mobile / email変更可能で空の場合あり。識別子には不向き。

ユーザーがログインした後はこの選択を変更しないでください。ユーザーデータ同期を使う場合、同期ソースでも同じフィールドを選択してください。

ログインと自動登録

ログインページで Feishu / Lark ボタンをクリックして OAuth ログインを完了します。自動登録が有効な場合:

  • ユーザー一意識別子フィールドでユーザーを照合または作成します;
  • 電話番号・メール・ニックネームはプロフィールが空の場合のみ補完され、既存の値は上書きされません。

自動ログイン

自動ログインを有効にすると、Feishu クライアント内でアプリを開いた際にログインボタンを押さず OAuth ログインが自動で始まります。同時に有効にできる Feishu 認証器は 1 つだけです。

条件:

  • コールバック URL がリダイレクト URL のホワイトリストに含まれている;
  • アプリが公開済みで、ユーザーが利用可能範囲内にいる;
  • Feishu クライアント内でアプリを開いている。

初回のみ Feishu の確認ページが表示され、以降はサイレントにログインします。システムブラウザでは自動ログインは動作しません。これは仕様です。

Feishu ワークベンチ入口(任意)

オープンプラットフォームのアプリ機能 → ウェブアプリでデスクトップ/モバイルのホームページを設定すると、Feishu のワークベンチから直接 NocoBase を開けます。URL は実際の NocoBase アドレス(サブパスプレフィックスを含む)と一致させてください。