本文へ移動
cccskills
無料GitHub で公開日本語紹介

configuration-sso-app

CaddyのポータルでSAML SSOアプリを設定し、AWSロール名やメタデータURL、証明書、PKCS8秘密鍵の条件を確認するスキルです。

原文原文の説明を見る

Configure portal-provided SAML SSO apps, AWS role names, metadata, certificates, and PKCS8 keys. Use for sso provider blocks and their runtime limits; external SAML login providers are separate.

greenpau/caddy-securityスター 2,270(GitHub 2,270 + cccskills 0)
連携ツールAWS

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • ポータルにSAML SSOアプリを追加したいとき
  • メタデータURLを確認したいとき
  • AWSロール名の形式を点検したいとき
  • 証明書とPKCS8鍵を確認したいとき

日本語での紹介

できること

Caddyfileの sso provider <name> を使う、ポータル向けSAML SSOアプリの設定を確認できます。プロバイダー名とポータル側の有効化名の一致、driver aws、entity_id、証明書と秘密鍵の指定、SAMLメタデータに載せるURLを整理します。証明書は CERTIFICATE 形式のPEM、秘密鍵は PRIVATE KEY 形式でPKCS8として読めるPEMが必要です。ユーザーに割り当てるAWSロール名は aws/<account_id>/<role_name> の形で扱います。

こんなときに便利

Caddyの認証ポータルにSAML SSOアプリを追加するときや、設定エラーの原因を絞りたいときに役立ちます。外部のSAMLログインプロバイダー設定とは別の機能として、設定範囲を確認できます。メタデータURLやポータルのベースパス、証明書・鍵の条件を見直す場面にも向いています。

使い方の例

  • 「このCaddyfileのSAML SSOアプリ設定を確認し、足りない項目を教えてください」
  • 「ポータルのベースパスを含めたメタデータURLとlocationを整理してください」
  • 「AWSロール名と証明書・秘密鍵の形式が要件に合っているか確認してください」

注意点

設定対象はポータル提供のSAML SSOアプリです。外部OAuth/OIDCログインや外部SAMLログインのプロバイダー設定は別です。AWSのAssume Roleエンドポイントは資料上プレースホルダー応答であり、設定だけでAWSフェデレーションが完了するとは限りません。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(2)

  • SKILL.md6.2 KB
  • agents/openai.yaml191 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Configuration SSO App

Purpose

Use this skill to configure the SSO app feature, expressed in Caddyfile as sso provider <name>. This is the Single Sign-On with SAML app path, not OAuth login provider setup.

External OAuth/OIDC login belongs to configuration-oauth-providers. External saml identity provider <name> login belongs to configuration-saml-providers. Those are separate configurations, not prerequisites for an SSO app change.

The Caddyfile syntax is authoritative in caddyfile_sso_provider.go; the provisioning behavior is authoritative in the selected go-authcrunch module, especially pkg/sso/config.go, pkg/sso/provider.go, pkg/sso/request.go, pkg/sso/metadata.go, and pkg/authn/handle_http_apps_sso.go.

Shape

{
	security {
		local identity store localdb {
			realm local
			path assets/config/users.json
		}

		sso provider aws {
			entity_id caddy-authp-idp
			driver aws
			cert assets/sso/authp_saml.crt
			private key assets/sso/authp_saml.key
			location https://example.com/auth/apps/sso/aws
		}

		authentication portal myportal {
			enable identity store localdb
			enable sso provider aws
		}
	}
}

The provider name must be unique and must match the portal's enable sso provider <name> value.

Supported Fields

The current Caddyfile parser supports only these lines:

  • disabled
  • entity_id <name> mapped to authcrunch entity_id
  • driver aws mapped to authcrunch driver
  • cert <path> mapped to authcrunch cert_path
  • private key <path> mapped to authcrunch private_key_path
  • location <url> appended to authcrunch locations

Although driver is syntactically optional in the Caddyfile parser, generate driver aws. go-authcrunch rejects an empty driver and currently supports only aws.

At least one location <url> is required by the Caddyfile parser, even for a disabled provider. Multiple locations are allowed and become SAML SingleSignOnService entries in generated metadata. Authcrunch embeds each configured location verbatim, so use the externally reachable SSO POST URL, including any portal base-path prefix such as /auth.

The certificate file must be PEM with block type CERTIFICATE. The private key file must be PEM with block type PRIVATE KEY and parse as a PKCS8 private key. Do not use RSA PRIVATE KEY examples unless the underlying authcrunch parser changes.

If a provider is marked disabled, it is not added to the authcrunch configuration. Do not enable a disabled provider from a portal; authcrunch validation expects enabled portal SSO provider names to have matching provider configuration.

Portal URLs And Roles

The auth portal recognizes SSO app endpoints by the /apps/sso/<provider> path inside the portal route. With the common /auth portal base path used by this repo's configs and fixtures, external URLs are usually under /auth/apps/sso/<provider>:

/auth/apps/sso/aws
/auth/apps/sso/aws/metadata.xml
/auth/apps/sso/aws/assume/<account_id>/<role_name>

If the authenticate route is mounted at a different base path, keep that prefix in the external URL. go-authcrunch/pkg/sso/request.go parses the first /apps/sso/ segment in the request path, so /custom/apps/sso/aws and /auth/apps/sso/aws both map to provider aws.

Use <base-path>/apps/sso/<provider>/metadata.xml when a SAML service needs generated IdP metadata. The configured location values are embedded in that metadata as HTTP-POST SSO service locations.

Current authcrunch handling requires an authenticated portal session before serving the SSO menu, metadata, or assume-role endpoint. Despite the metadata handler comment, no admin role check is implemented for metadata in handle_http_apps_sso.go.

For AWS role selection, user roles must use this shape:

aws/<account_id>/<role_name>

For example, a local user might have:

roles authp/user aws/123456789012/Administrator

The selected authcrunch assume-role handler returns a placeholder response for <base-path>/apps/sso/<provider>/assume/.... Do not promise complete AWS federation behavior from configuration alone unless the handler implementation changes.

Review Checklist

Check generated SSO app entries against these code-backed constraints:

  • Use sso provider <name>, not oauth identity provider <name>.
  • Keep SSO provider names unique; authcrunch server provisioning rejects duplicates.
  • Include entity_id, driver aws, cert, private key, and at least one location.
  • cert points to a PEM certificate file.
  • private key points to a PKCS8 PEM private key file.
  • The location URL is the service endpoint that should appear in SAML metadata, including the portal base path, usually /auth/apps/sso/<provider> on the auth portal host.
  • The portal enables the same provider name with enable sso provider <name>.
  • The portal has at least one identity store or login identity provider; SSO app providers do not count as authentication backends.
  • Any AWS roles assigned to users use aws/<account_id>/<role_name>.
  • No unsupported provider fields are generated.

Fixtures

Use these examples:

  • caddyfile_sso_provider.go for accepted Caddyfile subdirectives.
  • caddyfile_sso_provider_test.go for parser examples and expected adapted JSON.
  • go-authcrunch/pkg/sso/config_test.go for authcrunch validation behavior.
  • go-authcrunch/pkg/sso/request_test.go for SSO URL parsing behavior.

The Caddy parser tests establish field mapping, not certificate loading or an AWS federation journey. This checkout has no app-side SAML SSO E2E. A local runtime check should verify that readable certificate/PKCS8 inputs produce the configured metadata URLs, unauthenticated requests redirect to login, and an authenticated session can obtain metadata. Report the assume-role placeholder as unavailable federation behavior; a successful HTTP 200 containing ASSUME ROLE is not an AWS login.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

authentication-portal-api

無料概要あり

認証ポータルのログインやトークン更新、プロフィール、管理APIを利用するHTTPクライアントの仕様確認とトラブル対応を支援します。

  • ポータル向けJSONログインを実装したいとき
  • ブラウザーのトークン更新を調べたいとき
  • ネイティブ認証APIを扱いたいとき
greenpau/caddy-security2,2702026年10月28日 更新

break-fix-troubleshooting

無料概要あり

Caddyの認証・認可まわりで起きた設定や実行時の障害を、設定ファイル、ログ、バージョン、HTTPの証拠から切り分け、最小修正や調査報告にまとめます。

  • ログイン障害の原因を調べたいとき
  • OIDCやSAMLの失敗を切り分けたいとき
  • 最小限の設定修正を探したいとき
greenpau/caddy-security2,2702026年10月28日 更新

coding-directives

無料概要あり

caddy-securityのGoコードやCaddyモジュール、Caddyfileパーサー、HTTP連携の実装・レビューで、境界やライフサイクル、エラー処理の規約を確認するスキルです。

  • Caddyfileパーサーの変更をレビューしたいとき
  • CaddyモジュールやHTTP処理を実装したいとき
  • アプリの起動・終了処理を確認したいとき
greenpau/caddy-security2,2702026年10月28日 更新

configuration

無料概要あり

caddy-securityのCaddyfile全体を作成・点検し、認証方式に合う設定ガイドを選びながらsecurityアプリとHTTPルートを配線するスキルです。

  • Caddyfile全体を作成したいとき
  • 認証ポータルをルートに接続したいとき
  • 保護対象パスに認可ポリシーを設定したいとき
greenpau/caddy-security2,2702026年10月28日 更新

Caddyの認証ポータルとルートへの認証処理を設定し、利用するログイン元やリダイレクト先の信頼条件、更新機能などを組み立てるスキルです。

  • 認証ポータルを新しく構成したいとき
  • ログインに使うストアやプロバイダーを選びたいとき
  • 保護ルートをポータル認証につなぎたいとき
greenpau/caddy-security2,2702026年10月28日 更新

認証ポータルのCookie名や接頭辞、属性、ドメインを設定し、認可ポリシーが探すトークンCookieとの対応を整えます。

  • ポータルのCookie名を一括で変更したいとき
  • Cookie属性やドメインを調整したいとき
  • 更新トークン用Cookie名を上書きしたいとき
greenpau/caddy-security2,2702026年10月28日 更新

greenpau のスキルをすべて見る

このスキルの問題を報告する