Claude Platform Docs

建立聯合簽發者

client.Beta.Organization.Federation.Issuers.New(ctx, params) (*BetaFederationIssuer, error)
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
params BetaOrganizationFederationIssuerNewParams
IssuerURL 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
CheckJTI param.Opt[bool] Optional

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.

type BetaJWKSDiscovery struct { Type: "discovery"; CACertPEM; DiscoveryBase }

JWKS via the issuer's OIDC discovery document.

Type Discovery
CACertPEM string Optional

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

maxLength8192
DiscoveryBase string Optional

Set when the discovery URL differs from issuer_url.

type BetaJWKSExplicitURL struct { Type: "explicit_url"; URL; CACertPEM }

JWKS fetched from a fixed endpoint.

Type ExplicitURL
URL string

JWKS endpoint.

minLength1
CACertPEM string Optional

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

maxLength8192
type BetaJWKSInline struct { Type: "inline"; Keys }

JWKS supplied directly; no network fetch.

Type Inline
Keys []map[string, any]

Inline JWK objects.

minItems1
MaxJWTLifetimeSeconds param.Opt[int64] Optional

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 []AnthropicBeta OptionalHeader parameter

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

const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"
const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"
const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"
const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"
const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"
const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"
const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"
const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"
const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"
const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"
const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"
const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"
const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"
const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"
const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"
const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"
const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"
const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"
const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"
const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"
const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"
const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"
const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"
const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"
const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"
const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"
const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"
const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"
const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"
const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"
const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"
const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"
const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"
const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"
const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"
const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"
const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"
const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"
const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"
const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"
const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"
const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"
const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"
const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"
const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"
const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"
const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"
const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"
const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"
const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"
const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"
Returns
type BetaFederationIssuer struct { Type: "federation_issuer"; ID; ArchivedAt; /* 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.

建立聯合簽發者
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaFederationIssuer, err := client.Beta.Organization.Federation.Issuers.New(context.TODO(), anthropic.BetaOrganizationFederationIssuerNewParams{
		IssuerURL: "x",
		Name:      "x",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaFederationIssuer.ID)
}
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"
}