Claude Platform Docs

建立聯合簽發者

beta.organization.federation.issuers.create(**kwargs) -> BetaFederationIssuer
POST/v1/organizations/federation_issuers

需要具有 org:admin 範圍的 OAuth 存取權杖,可透過 ant auth login --scope org:admin 或工作負載身分聯合(workload identity federation)規則取得;不接受 Admin API 金鑰。請參閱使用 Admin API 管理 WIF。

註冊一個 OIDC 簽發者,讓 Anthropic 在您組織的工作負載身分聯合中信任該簽發者。

jwks 欄位控制如何取得簽發者的簽署金鑰,並依 type 選擇三種形式之一:discovery(透過 OIDC 探索解析金鑰)、explicit_url(從固定的 JWKS URL 擷取金鑰)或 inline(提供靜態金鑰集)。當 jwks.type 為 discovery 且未設定 discovery_base 時,簽發者 URL 必須可透過 HTTPS 公開存取,以便 Anthropic 擷取探索文件;在 explicit_url 和 inline 模式下,簽發者 URL 僅用於比對 JWT 的 iss 宣告,不會被擷取。

Parameters
issuer_url: String

The iss claim value to match against.

minLength1
name: String

Slug identifier (lowercase, digits, hyphens). Unique within the organization; a duplicate name returns 409.

minLength1
maxLength255
check_jti: bool

Whether the jwt-bearer exchange enforces JTI single-use (replay protection) for tokens from this issuer. Defaults to true. Applies only to assertions carrying a jti claim; tokens without one are accepted without single-use enforcement.

How signing keys are obtained. Defaults to OIDC discovery.

One of the following:
class BetaJWKSDiscovery { type: :discovery, ca_cert_pem, discovery_base }

JWKS via the issuer's OIDC discovery document.

type: :discovery
ca_cert_pem: String

Optional custom CA (PEM) for TLS verification of the JWKS fetch.

maxLength8192
discovery_base: String

Set when the discovery URL differs from issuer_url.

class BetaJWKSExplicitURL { type: :explicit_url, url, ca_cert_pem }

JWKS fetched from a fixed endpoint.

type: :explicit_url
url: String

JWKS endpoint.

minLength1
ca_cert_pem: String

Optional custom CA (PEM) for TLS verification of the JWKS fetch.

maxLength8192
class BetaJWKSInline { type: :inline, keys }

JWKS supplied directly; no network fetch.

type: :inline
keys: Array[Hash[Symbol, untyped]]

Inline JWK objects.

minItems1
max_jwt_lifetime_seconds: Integer

Maximum allowed iat→exp spread for assertions from this issuer (1-176400 seconds, i.e. up to 49h). Defaults to 3600 (1h). Assertions must carry both iat and exp; a missing iat is rejected.

minimum1
maximum176400
betas: Array[AnthropicBeta]⁠Header parameter

Optional header to specify the beta version(s) you want to use.

One of the following:
String = String
:"message-batches-2024-09-24"
:"prompt-caching-2024-07-31"
:"computer-use-2024-10-22"
:"computer-use-2025-01-24"
:"pdfs-2024-09-25"
:"token-counting-2024-11-01"
:"token-efficient-tools-2025-02-19"
:"output-128k-2025-02-19"
:"files-api-2025-04-14"
:"mcp-client-2025-04-04"
:"mcp-client-2025-11-20"
:"dev-full-thinking-2025-05-14"
:"interleaved-thinking-2025-05-14"
:"code-execution-2025-05-22"
:"extended-cache-ttl-2025-04-11"
:"context-1m-2025-08-07"
:"context-management-2025-06-27"
:"model-context-window-exceeded-2025-08-26"
:"skills-2025-10-02"
:"fast-mode-2026-02-01"
:"output-300k-2026-03-24"
:"user-profiles-2026-03-24"
:"user-profiles-2026-08-18"
:"user-profiles-2026-09-04"
:"advisor-tool-2026-03-01"
:"managed-agents-2026-04-01"
:"cache-diagnosis-2026-04-07"
:"dreaming-2026-04-21"
:"thinking-token-count-2026-05-13"
:"server-side-fallback-2026-06-01"
:"server-side-fallback-2026-07-01"
:"fallback-credit-2026-06-01"
:"fallback-credit-2026-07-01"
:"agent-memory-2026-07-22"
:"mid-conversation-tool-changes-2026-07-01"
:"compact-2026-01-12"
:"computer-use-2025-11-24"
:"mcp-tunnels-2026-06-22"
:"structured-outputs-2025-11-13"
:"task-budgets-2026-03-13"
:"thinking-display-updates-2026-08-18"
:"ce-user-management-2026-07-13"
:"mid-conversation-output-config-2026-07-01"
:"thinking-binding-controls-2026-08-01"
:"mid-conversation-system-clear-at-2026-08-21"
:"compact-2026-09-04"
:"inline-tools-2026-09-15"
:"mcp-client-2026-09-15"
:"ce-plugins-2026-09-01"
:"spend-limit-reads-2026-09-26"
:"telemetry-destinations-2026-08-11"
Returns
class BetaFederationIssuer { type: :federation_issuer, id, archived_at, 12 more }

Registered external OIDC identity provider.

Records an external IdP the organization trusts for the RFC 7523 jwt-bearer grant. The issuer_url must match the JWT iss claim exactly.

建立聯合簽發者
require "anthropic"

anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key")

beta_federation_issuer = anthropic.beta.organization.federation.issuers.create(issuer_url: "x", name: "x")

puts(beta_federation_issuer)
Returns Examples
Response 200
{
  "id": "fdis_01SDCCSbTxrXDpWc1phhtcfK",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "archived_by_actor_id": "archived_by_actor_id",
  "check_jti": true,
  "created_at": "2024-10-30T23:58:27.427722Z",
  "created_by_actor_id": "created_by_actor_id",
  "issuer_url": "https://token.actions.githubusercontent.com",
  "jwks": {
    "type": "discovery",
    "ca_cert_pem": "ca_cert_pem",
    "discovery_base": "discovery_base"
  },
  "jwks_polling_disabled_at": "2019-12-27T18:11:19.117Z",
  "max_jwt_lifetime_seconds": 0,
  "name": "github-actions",
  "poll_status": {
    "consecutive_failures": 0,
    "last_fetched_at": "2019-12-27T18:11:19.117Z",
    "next_poll_at": "2019-12-27T18:11:19.117Z"
  },
  "type": "federation_issuer",
  "updated_at": "2024-10-30T23:58:27.427722Z",
  "updated_by_actor_id": "updated_by_actor_id"
}