Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

sf-connected-apps

OAuth フローや JWT ベアラー認証、Connected Apps の設定を行う際に使用するスキルで、`.connectedApp-meta.xml` や `.eca-meta.xml` ファイルの操作時にもトリガーされます。120点満点のスコアリングによって Salesforce Connected Apps と OAuth 設定の品質を評価します。なお、外部連携の Named Credentials には `sf-integration`、権限ポリシーには `sf-permissions`、APIエンドポイントのコードには `sf-apex` をそれぞれ使用してください。

description の原文を見る

> Salesforce Connected Apps and OAuth configuration with 120-point scoring. TRIGGER when: user configures OAuth flows, JWT bearer auth, Connected Apps, or touches .connectedApp-meta.xml / .eca-meta.xml files. DO NOT TRIGGER when: Named Credentials for callouts (use sf-integration), permission policies (use sf-permissions), or API endpoint code (use sf-apex).

SKILL.md 本文

sf-connected-apps: Salesforce Connected Apps & External Client Apps

このスキルは、ユーザーが Salesforce で OAuth アプリケーション設定 を必要とする場合に使用します: Connected Apps、External Client Apps (ECAs)、JWT bearer セットアップ、PKCE 判断、スコープ設計、または古い Connected App パターンから新しい ECA パターンへの移行。

このスキルがタスクを担当する場合

以下の作業に sf-connected-apps を使用します:

  • .connectedApp-meta.xml または .eca-meta.xml ファイル
  • OAuth フロー選択とコールバック / スコープ設定
  • JWT bearer 認証、デバイスフロー、クライアント認証情報、または認可コード判定
  • Connected App と External Client App のアーキテクチャ選択
  • consumer-key / secret / 証明書処理戦略

以下の場合は他のスキルに委譲します:

  • Named Credentials またはランタイムコールアウト設定 → sf-integration
  • アクセス / パーミッションポリシー割り当て分析 → sf-permissions
  • Apex トークン処理コード作成 → sf-apex
  • メタデータを org にデプロイ → sf-deploy

最初の判断: Connected App か External Client App か

必要なものが...推奨
シンプルな単一 org OAuth アプリConnected App
より優れたシークレット処理による新規開発External Client App
マルチ org / パッケージング / より強力な運用管理External Client App
シンプルなレガシー互換性Connected App

デフォルトガイダンス:

  • 規制対象、パッケージ化可能、またはオートメーション集約的なソリューションには ECA を選択
  • シンプルさとレガシー互換性がより重要な場合には Connected App を選択
  • Spring '26 注: 新しい Connected Apps の作成はデフォルトで多くの org で無効化されています。新規統合の場合は、Connected App 互換性が明示的に必要でない限り External Client Apps を推奨します。

最初に収集すべき必須コンテキスト

以下を質問するか推論します:

  • アプリタイプ: Connected App または ECA
  • OAuth フロー: 認可コード、PKCE、JWT bearer、デバイス、クライアント認証情報
  • クライアントタイプ: 機密 vs 公開
  • コールバック URL / リダイレクト先
  • 必要なスコープ
  • 配布モデル: ローカル org のみ vs パッケージ化 / マルチ org
  • 証明書またはシークレット回転が必要かどうか

推奨ワークフロー

1. アプリモデルを選択

Connected App か ECA のどちらが長期的により適しているか判断します。

2. OAuth フローを選択

ユースケースデフォルトフロー
バックエンド Web アプリAuthorization Code
SPA / モバイル / 公開クライアントAuthorization Code + PKCE
サーバー間 / CI/CDJWT Bearer
デバイス / CLI 認証Device Flow
サービスアカウント形式アプリClient Credentials (通常は ECA)

3. 適切なテンプレートから開始

スクラッチで構築する代わりに提供されたアセットを使用:

  • assets/connected-app-basic.xml
  • assets/connected-app-oauth.xml
  • assets/connected-app-jwt.xml
  • assets/external-client-app.xml
  • assets/eca-global-oauth.xml
  • assets/eca-oauth-settings.xml
  • assets/eca-policies.xml

ソース管理された ECA OAuth セキュリティメタデータが必要な場合は、最初に org から取得し、取得したファイルをスキーマの信頼できるソースとして扱います:

  • sf project retrieve start --metadata ExtlClntAppOauthSecuritySettings:<AppName> --target-org <alias>

4. セキュリティ強化を適用

以下を優先:

  • 最小権限スコープ
  • 明示的なコールバック URL
  • 公開クライアント向け PKCE
  • 必要に応じて証明書ベース認証
  • 回転対応のシークレット / キー処理
  • 現実的で保守可能な場合の IP 制限

5. デプロイ準備状況を検証

ハンドオフ前に以下を確認:

  • メタデータファイル命名が正しい
  • スコープが正当化されている
  • コールバックと認証モデルが実際のクライアントタイプと一致
  • シークレットがソースに埋め込まれていない

高シグナルセキュリティルール

これらのアンチパターンを回避:

アンチパターン失敗理由
ワイルドカード / 過度に広いコールバック URLトークン傍受リスク
デフォルトで Full スコープ不要な権限
公開クライアント向け PKCE 無効化コード傍受リスク
ソースにコンシューマーシークレットをコミット認証情報漏洩
オートメーション用に回転 / 証明書戦略なしぜい弱な長期運用

デフォルト修正方向:

  • スコープを狭める
  • コールバックを制限
  • 公開クライアント向けに PKCE を有効化
  • シークレットをバージョン管理外に保つ
  • 必要に応じて JWT 証明書または管理されたシークレットストレージを使用

重要なメタデータ注記

Connected App

通常は以下にあります:

  • force-app/main/default/connectedApps/

External Client App

現在のソース対応 ECA メタデータは単一の externalClientApps/ フォルダではなく、複数のトップレベルソースディレクトリを使用:

  • force-app/main/default/externalClientApps/ExternalClientApplication (.eca-meta.xml)
  • force-app/main/default/extlClntAppGlobalOauthSets/ExtlClntAppGlobalOauthSettings (.ecaGlblOauth-meta.xml)
  • force-app/main/default/extlClntAppOauthSettings/ExtlClntAppOauthSettings (.ecaOauth-meta.xml)
  • force-app/main/default/extlClntAppOauthSecuritySettings/ExtlClntAppOauthSecuritySettings (.ecaOauthSecurity-meta.xml)
  • force-app/main/default/extlClntAppOauthPolicies/ExtlClntAppOauthConfigurablePolicies (.ecaOauthPlcy-meta.xml)
  • force-app/main/default/extlClntAppPolicies/ExtlClntAppConfigurablePolicies (.ecaPlcy-meta.xml)

重要なファイル名の落とし穴:

  • グローバル OAuth サフィックスは .ecaGlblOauth で、.ecaGlobalOauth ではありません
  • 一般的なポリシーサフィックスは .ecaPlcy で、.ecaPolicy ではありません
  • ExtlClntAppOauthSecuritySettings には .ecaOauthSecurity を使用

出力形式

完了時に以下の順序で報告:

  1. 選択されたアプリタイプ
  2. 選択された OAuth フロー
  3. 作成または更新されたファイル
  4. セキュリティ判定
  5. 次のデプロイ / テストステップ

推奨形式:

App: <name>
Type: Connected App | External Client App
Flow: <oauth flow>
Files: <paths>
Security: <scopes, PKCE, certs, secrets, IP policy>
Next step: <deploy, retrieve consumer key, or test auth flow>

スキル間統合

必要な場合委譲先理由
Named Credential / コールアウトランタイム設定sf-integrationランタイム統合セットアップ
アプリメタデータをデプロイsf-deployorg 検証およびデプロイ
Apex トークンまたはリフレッシュ処理sf-apex実装ロジック
デプロイ後のパーミッション確認sf-permissionsアクセス管理

リファレンスマップ

ここから開始

  • references/oauth-flows-reference.md
  • references/security-checklist.md
  • references/testing-validation-guide.md

移行 / 例

  • references/migration-guide.md
  • references/example-usage.md
  • assets/

スコアガイド

スコア意味
80+本番環境対応の OAuth アプリ設定
54–79実用的だがセキュリティ強化レビューが必要
< 54修正まで展開をブロック

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
jaganpro
リポジトリ
jaganpro/sf-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/jaganpro/sf-skills / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: jaganpro · jaganpro/sf-skills · ライセンス: MIT