use-case-external-password-auth — community use-case-external-password-auth, idp-server, community, ide skills

v1.0.0

이 스킬 정보

외부 비밀번호 인증 서비스와 HTTP API를 통해 무결점 통합을 요구하는 인증 에이전트에 적합 外部パスワード認証委譲ユースケースの設定ガイド。外部認証サービスURL、マッピングルール、ブルートフォース防止、セッション・トークン有効期限のヒアリングと環境変数マッピングを提供。

hirokazu-kobayashi-koba-hiro hirokazu-kobayashi-koba-hiro
[7]
[1]
Updated: 3/11/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 7/11

This page remains useful for teams, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution
Review Score
7/11
Quality Score
36
Canonical Locale
ja
Detected Body Locale
ja

외부 비밀번호 인증 서비스와 HTTP API를 통해 무결점 통합을 요구하는 인증 에이전트에 적합 外部パスワード認証委譲ユースケースの設定ガイド。外部認証サービスURL、マッピングルール、ブルートフォース防止、セッション・トークン有効期限のヒアリングと環境変数マッピングを提供。

이 스킬을 사용하는 이유

에이전트가 비밀번호 인증을 외부 서비스에 위임할 수 있도록 하며, HTTP API를 사용하여 통합하고, `authentication-configurations` 및 `execution.function = http_request`를 사용하여 사용자 자격 증명을 전송하고, 응답에서 사용자 정보를 매핑하여 OIDC와 같은 프로토콜을 사용한 보안 인증 메커니즘을 제공

최적의 용도

외부 비밀번호 인증 서비스와 HTTP API를 통해 무결점 통합을 요구하는 인증 에이전트에 적합

실행 가능한 사용 사례 for use-case-external-password-auth

기존 인증 인프라를 갖춘 조직의 외부 서비스에 비밀번호 인증을 위임
idp-server를 외부 인증 API와 통합하여 보안 사용자 인증을 구현
외부 API 응답에서 사용자 정보를 매핑하여 무결점 인증을 구현

! 보안 및 제한 사항

  • 외부 서비스가 HTTP 엔드포인트를 제공해야 함
  • `authentication-configurations` 설정 및 `execution.function = http_request`가 필요
  • 기존 인증 인프라를 갖춘 조직에만 제한

Why this page is reference-only

  • - Current locale does not satisfy the locale-governance contract.
  • - The underlying skill quality score is below the review floor.

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

After The Review

Decide The Next Action Before You Keep Reading Repository Material

Killer-Skills should not stop at opening repository instructions. It should help you decide whether to install this skill, when to cross-check against trusted collections, and when to move into workflow rollout.

Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is use-case-external-password-auth?

외부 비밀번호 인증 서비스와 HTTP API를 통해 무결점 통합을 요구하는 인증 에이전트에 적합 外部パスワード認証委譲ユースケースの設定ガイド。外部認証サービスURL、マッピングルール、ブルートフォース防止、セッション・トークン有効期限のヒアリングと環境変数マッピングを提供。

How do I install use-case-external-password-auth?

Run the command: npx killer-skills add hirokazu-kobayashi-koba-hiro/idp-server/use-case-external-password-auth. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for use-case-external-password-auth?

Key use cases include: 기존 인증 인프라를 갖춘 조직의 외부 서비스에 비밀번호 인증을 위임, idp-server를 외부 인증 API와 통합하여 보안 사용자 인증을 구현, 외부 API 응답에서 사용자 정보를 매핑하여 무결점 인증을 구현.

Which IDEs are compatible with use-case-external-password-auth?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for use-case-external-password-auth?

외부 서비스가 HTTP 엔드포인트를 제공해야 함. `authentication-configurations` 설정 및 `execution.function = http_request`가 필요. 기존 인증 인프라를 갖춘 조직에만 제한.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add hirokazu-kobayashi-koba-hiro/idp-server/use-case-external-password-auth. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use use-case-external-password-auth immediately in the current project.

! Reference-Only Mode

This page remains useful for installation and reference, but Killer-Skills no longer treats it as a primary indexable landing page. Read the review above before relying on the upstream repository instructions.

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

use-case-external-password-auth

Install use-case-external-password-auth, an AI agent skill for AI agent workflows and automation. Review the use cases, limitations, and setup path before...

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

外部パスワード認証委譲

パスワード認証を外部サービス(HTTP API)に委譲するユースケース。 idp-server 内蔵のパスワード検証を使わず、authentication-configurationsexecution.function = "http_request" を使って外部 API にユーザー名/パスワードを転送し、レスポンスからユーザー情報をマッピングする。

ユースケース: 既存の認証基盤(社内認証 API 等)を持つ組織が、idp-server を OIDC レイヤーとして導入するケース。idp-server は HTTP API で外部サービスと連携するため、外部サービスが HTTP エンドポイントを提供している必要がある。

テンプレート実行

テンプレート: config/templates/use-cases/external-password-auth/

bash
1# 基本実行 2bash config/templates/use-cases/external-password-auth/setup.sh 3 4# カスタマイズ例 5ORGANIZATION_NAME="my-company" \ 6EXTERNAL_AUTH_URL="https://auth.internal.example.com/api/authenticate" \ 7EXTERNAL_PROVIDER_ID="ldap-wrapper" \ 8SESSION_TIMEOUT_SECONDS=3600 \ 9ACCESS_TOKEN_DURATION=1800 \ 10REFRESH_TOKEN_DURATION=604800 \ 11bash config/templates/use-cases/external-password-auth/setup.sh 12 13# ドライラン(実際には作成しない) 14bash config/templates/use-cases/external-password-auth/setup.sh --dry-run

細かい設定 Q&A(逆引き)

「やりたいこと -> 設定」の対応表: qa.md

ユーザーが具体的にやりたいことを言った場合は、qa.md を参照して該当するQ&Aの設定キー+値を提示すること。

設定変更 x 挙動確認(ハンズオン)

「設定を変えて → 挙動が変わることを体験する」実験ガイド:

  • config/templates/use-cases/external-password-auth/EXPERIMENTS.md - http_request(単数)の基本実験
  • config/templates/use-cases/external-password-auth/EXPERIMENTS-http-requests.md - http_requests(複数形)の複数API チェーン実験

設定の効果を手元で確認したい場合はこれらのガイドを案内すること。

自動検証スクリプト: config/templates/use-cases/external-password-auth/verify.sh

ヒアリング項目

#決めること選択肢影響する設定
1外部認証サービスURL実サービスURL / モック(localhost:4001)認証メソッド設定 http_request.url
2外部プロバイダーID任意の識別子(例: ldap-wrapper, legacy-auth認証メソッド設定 user_mapping_rules[].static_value
3アカウントロック条件失敗回数(デフォルト: 5回)認証ポリシー failure_conditions / lock_conditions
4セッション有効期限秒数(デフォルト: 86400 = 24時間)テナント session_config.timeout_seconds
5トークン有効期限(AT)秒数(デフォルト: 3600 = 1時間)認可サーバー extension.access_token_duration
6トークン有効期限(IDT)秒数(デフォルト: 3600 = 1時間)認可サーバー extension.id_token_duration
7トークン有効期限(RT)秒数(デフォルト: 86400 = 24時間)認可サーバー extension.refresh_token_duration

ヒアリング結果 -> 環境変数マッピング

外部認証サービス

ヒアリング項目環境変数デフォルト値
外部認証サービスURLEXTERNAL_AUTH_URLhttp://host.docker.internal:4001/auth/password
外部プロバイダー識別子EXTERNAL_PROVIDER_IDexternal-auth

セッション設定

ヒアリング項目環境変数デフォルト値
セッション有効期限(秒)SESSION_TIMEOUT_SECONDS86400

トークン有効期限

ヒアリング項目環境変数デフォルト値
AT有効期限(秒)ACCESS_TOKEN_DURATION3600
IDT有効期限(秒)ID_TOKEN_DURATION3600
RT有効期限(秒)REFRESH_TOKEN_DURATION86400

設定対象と手順

1. 外部パスワード認証設定(認証メソッド設定) -- 核心

API: POST /v1/management/organizations/{org-id}/tenants/{tenant-id}/authentication-configurations

この設定が外部パスワード認証委譲の核心。execution.function = "http_request" で外部サービスにリクエストを転送し、user_mapping_rules でレスポンスをユーザー属性にマッピングする。

json
1{ 2 "type": "password", 3 "metadata": { 4 "description": "External password authentication via HTTP request" 5 }, 6 "interactions": { 7 "password-authentication": { 8 "execution": { 9 "function": "http_request", 10 "http_request": { 11 "url": "https://auth.example.com/api/authenticate", 12 "method": "POST", 13 "header_mapping_rules": [ 14 { "static_value": "application/json", "to": "Content-Type" } 15 ], 16 "body_mapping_rules": [ 17 { "from": "$.request_body.username", "to": "username" }, 18 { "from": "$.request_body.password", "to": "password" } 19 ] 20 } 21 }, 22 "user_resolve": { 23 "user_mapping_rules": [ 24 { "from": "$.execution_http_request.response_body.user_id", "to": "external_user_id" }, 25 { "from": "$.execution_http_request.response_body.email", "to": "email" }, 26 { "from": "$.execution_http_request.response_body.name", "to": "name" }, 27 { "static_value": "external-auth", "to": "provider_id" } 28 ] 29 }, 30 "response": { 31 "body_mapping_rules": [ 32 { 33 "from": "$.execution_http_request.response_body.user_id", 34 "to": "user_id", 35 "condition": { "operation": "exists", "path": "$.execution_http_request.response_body.user_id" } 36 }, 37 { 38 "from": "$.execution_http_request.response_body.email", 39 "to": "email", 40 "condition": { "operation": "exists", "path": "$.execution_http_request.response_body.email" } 41 }, 42 { 43 "from": "$.execution_http_request.response_body.error", 44 "to": "error", 45 "condition": { "operation": "exists", "path": "$.execution_http_request.response_body.error" } 46 }, 47 { 48 "from": "$.execution_http_request.response_body.error_description", 49 "to": "error_description", 50 "condition": { "operation": "exists", "path": "$.execution_http_request.response_body.error_description" } 51 } 52 ] 53 } 54 } 55 } 56}

外部 API の契約:

項目仕様
リクエストPOST {"username": "...", "password": "..."}
成功 (HTTP 200){"user_id": "...", "email": "...", "name": "..."}
失敗 (HTTP 401){"error": "invalid_credentials", "error_description": "..."}

マッピングルール:

外部レスポンスidp-server 属性説明
user_idexternal_user_id外部サービスのユーザーID
emailemailメールアドレス
namename表示名
(static)provider_id外部サービス識別子

1b. 複数API チェーン設定(http_requests)

複数の外部APIを順番に呼び出し、結果を統合するパターン。例: 認証API → ユーザー詳細API。

http_request(単数)http_requests(複数形)
リクエスト数1つ複数(順番に実行)
設定キーexecution.http_request (object)execution.http_requests (array)
結果パス$.execution_http_request.response_body.*$.execution_http_requests[0].response_body.*
チェーン不可前のレスポンスを次のリクエストで使える
エラー時即座に返却失敗した時点で中断、それまでの結果を保持

複数API呼び出し時のエラーハンドリング:

成功フィールドとエラーフィールドが共存しないよう、allOf + missing 複合条件を使う:

json
1{ 2 "from": "$.execution_http_requests[0].response_body.user_id", 3 "to": "user_id", 4 "condition": { 5 "operation": "allOf", 6 "value": [ 7 { "operation": "exists", "path": "$.execution_http_requests[0].response_body.user_id" }, 8 { "operation": "missing", "path": "$.execution_http_requests[1].response_body.error" } 9 ] 10 } 11}
  • exists のみだと、API 2 が失敗してもAPI 1 の成功フィールドが返ってしまう
  • allOf で「自身が存在 AND 後続APIのエラーが missing」を両方満たす場合のみ出力

functions(ヘッダー動的生成):

json
1"header_mapping_rules": [ 2 { 3 "from": "$.unused", 4 "to": "x-request-id", 5 "functions": [ 6 { "name": "random_string", "args": { "length": 8 } }, 7 { "name": "format", "args": { "template": "trace-{{value}}" } } 8 ] 9 } 10]

使える functions: format(テンプレート変換)、random_string(ランダム文字列)、now(現在時刻)、exists(boolean化)。from: "$.unused" は入力不要な functions 用の特殊パス。

詳細と実験手順は EXPERIMENTS-http-requests.md を参照。

2. 認証ポリシー(パスワードのみ、failure/lock_conditions あり)

API: POST /v1/management/organizations/{org-id}/tenants/{tenant-id}/authentication-policies

login-password-only との主な差分:

  • available_methods["password"] のみ(initial-registration なし = ユーザー自己登録なし)
  • failure_conditions / lock_conditions を設定(5回失敗でアカウントロック)
json
1{ 2 "flow": "oauth", 3 "enabled": true, 4 "policies": [ 5 { 6 "description": "external_password_only", 7 "priority": 1, 8 "conditions": {}, 9 "available_methods": ["password"], 10 "success_conditions": { 11 "any_of": [ 12 [ 13 { 14 "path": "$.password-authentication.success_count", 15 "type": "integer", 16 "operation": "gte", 17 "value": 1 18 } 19 ] 20 ] 21 }, 22 "failure_conditions": { 23 "any_of": [ 24 [ 25 { 26 "path": "$.password-authentication.failure_count", 27 "type": "integer", 28 "operation": "gte", 29 "value": 5 30 } 31 ] 32 ] 33 }, 34 "lock_conditions": { 35 "any_of": [ 36 [ 37 { 38 "path": "$.password-authentication.failure_count", 39 "type": "integer", 40 "operation": "gte", 41 "value": 5 42 } 43 ] 44 ] 45 } 46 } 47 ] 48}

3. クレーム設定(claims_supported)

API: PUT /v1/management/organizations/{org-id}/tenants/{tenant-id}/authorization-server

重要: この設定が無いと UserInfo / ID Token が sub のみしか返さない。

テンプレートでは public-tenant-template.json に以下が含まれている:

json
1{ 2 "claims_supported": [ 3 "sub", "iss", "auth_time", "acr", 4 "name", "given_name", "family_name", "nickname", "preferred_username", "middle_name", 5 "profile", "picture", "website", 6 "email", "email_verified", 7 "gender", "birthdate", "zoneinfo", "locale", "updated_at", 8 "address", "phone_number", "phone_number_verified" 9 ], 10 "claims_parameter_supported": true 11}

login-password-only との差分

項目login-password-onlyexternal-password-auth
パスワード検証idp-server 内蔵外部サービス(http_request)
パスワードポリシーテナントに設定なし(外部サービスが管理)
ユーザー登録initial-registrationなし(外部サービスが管理)
ユーザー識別EMAILEMAIL_OR_EXTERNAL_USER_ID
認証ポリシーpassword + initial-registrationpassword のみ
ブルートフォース防止なしfailure_conditions + lock_conditions

設定確認チェックリスト

#確認観点設定箇所よくあるミス
1claims_supported が設定済み認可サーバー未設定で UserInfo/ID Token が sub のみ返却
2EXTERNAL_AUTH_URL が idp-server コンテナから到達可能認証メソッド設定localhost を指定(Docker 内から到達不可)→ host.docker.internal を使う
3EXTERNAL_PROVIDER_ID が一意認証メソッド設定複数テナントで同じ provider_id を使うと衝突の可能性
4外部サービスのレスポンスに user_id フィールドがある外部サービスフィールド名の不一致で external_user_idnull になる
5identity_unique_key_typeEMAIL_OR_EXTERNAL_USER_IDテナント identity_policy_configEMAIL のままだと外部ユーザーIDでの識別が機能しない
6failure_conditions / lock_conditions が設定済み認証ポリシー未設定だと認証失敗でアカウントロックされない
7ui_config.base_url が認証UIのオリジンテナント ui_configAPIサーバーURLを設定してしまう
8パスワードポリシーが未設定であることテナント identity_policy_config外部サービス管理なのに idp-server 側にもポリシーを設定してしまう

設定例ファイル参照

  • テンプレート: config/templates/use-cases/external-password-auth/
  • 認証メソッド設定: config/templates/use-cases/external-password-auth/authentication-config-password-template.json
  • 認証ポリシー: config/templates/use-cases/external-password-auth/authentication-policy.json
  • テナント設定: config/templates/use-cases/external-password-auth/public-tenant-template.json
  • モックサーバー: config/templates/use-cases/external-password-auth/mock-server.js

関連ドキュメント

  • config/templates/use-cases/external-password-auth/README.md - テンプレートの詳細説明
  • documentation/docs/content_05_how-to/phase-1-foundation/07-authentication-policy.md - 認証ポリシー設定
  • スキル spec-external-integration - 外部サービス連携の詳細(HTTP Request Executor, MappingRule)
  • スキル use-case-login - login-password-only との共通設定(セッション、トークン等)

$ARGUMENTS

관련 스킬

Looking for an alternative to use-case-external-password-auth or another community skill for your workflow? Explore these related open-source skills.

모두 보기

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
인공지능

widget-generator

Logo of f
f

Generate customizable widget plugins for the prompts.chat feed system

149.6k
0
인공지능

flags

Logo of vercel
vercel

The React Framework

138.4k
0
브라우저

pr-review

Logo of pytorch
pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

98.6k
0
개발자