using-backstage-identity について
using-backstage-identityは、Backstageプラグイン開発向けのスキルです。現在のユーザーのID、プロフィール、所有エンティティ参照の取得と、そのユーザーとしてのバックエンドAPI呼び出し方法を説明します。
主な機能
- 01ユーザーのエンティティ参照取得
- 02ユーザープロフィール情報の取得
- 03所有エンティティ参照の取得
- 04現在のユーザーのBackstageトークン利用
活用シーン
- 01プラグインに現在のユーザー情報を表示する
- 02ユーザーの所有情報でリソースを絞り込む
- 03現在のユーザーとしてバックエンドAPIを呼び出す
- 04生成済みプラグインにID処理を追加する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vinzscam/ backstage-skills --skill using-backstage-identityインストール後、Claude Code で/using-backstage-identityを入力して読み込まれたか確認します。
同梱ファイルreferences/current-user.md
詳細
Backstage のアイデンティティパターン
このスキルを使う場面
- プラグインで現在のユーザーのエンティティ参照が必要な場合(例:
user:default/jdoe) - プラグインでユーザーのプロフィール情報(表示名、メールアドレス、画像)が必要な場合
- プラグインで「自分が所有するもの」を絞り込むための所有権エンティティ参照が必要な場合
- プラグインで現在のユーザーとしてバックエンド API を呼び出すための Backstage トークンが必要な場合
適切なパターンを選ぶ
| 状況 | パターン | 参照 |
|---|---|---|
| 現在のユーザーを取得する(エンティティ参照、所有権参照、プロフィール) | useApi(identityApiRef).getBackstageIdentity() / getProfileInfo() | references/current-user.md |
2 つの呼び出しモード
- 単独(開発途中):ユーザーが既存のプラグインを編集している場合です。リファレンスを読み、必要なコンポーネントにパターンを適用します。
- スキャフォールド後(
creating-backstage-pluginから呼び出される場合):新しくスキャフォールドされたプラグインにパターンを適用します。リファレンスの「スキャフォールド後の使い方」セクションに、編集するファイルと挿入する内容が正確に記載されています。
よくある注意点
- NFS プラグインでは、
identityApiRefは@backstage/frontend-plugin-apiからインポートします。(レガシー互換性のため、同じ参照は@backstage/core-plugin-apiからも再エクスポートされていますが、新しいプラグインでは必ず NFS パッケージを使用してください。) getBackstageIdentity()は非同期で、BackstageUserIdentityを返します。そこからuserEntityRefとownershipEntityRefsを分割代入します。- 結果をトップレベルの変数に保存しないでください。アイデンティティが変更されたときに再実行されるよう、フック内(たとえば React コンポーネント内や
useAsyncのコールバック内)から呼び出してください。
UI の規約
可能な場合は、レンダリングに @backstage/ui(Skeleton、Alert、Text、Flex、Button、…)を使用してください。コンポーネントの一覧とスタイル設定のガイダンスについては、using-backstage-ui スキルを参照してください。
コメント
Markdown 対応