Claude Platform Docs

Crear emisor de federación

client.Organization.Federation.Issuers.New(ctx, body) (*FederationIssuer, error)
POST/v1/organizations/federation_issuers

Requiere un token de acceso OAuth con el alcance org:admin, obtenido de ant auth login --scope org:admin o de una regla de federación de identidades de carga de trabajo; no se aceptan claves de Admin API. Consulta Administrar WIF con la Admin API.

Registra un emisor OIDC en el que Anthropic confiará para la federación de identidades de carga de trabajo en tu organización.

El campo jwks controla cómo se obtienen las claves de firma del emisor y adopta una de tres formas seleccionadas por type: discovery (resuelve las claves mediante OIDC discovery), explicit_url (obtiene las claves de una URL de JWKS fija) o inline (proporciona un conjunto de claves estático). Cuando jwks.type es discovery y no se establece discovery_base, la URL del emisor debe ser accesible públicamente mediante HTTPS para que Anthropic pueda obtener el documento de discovery; en los modos explicit_url e inline, la URL del emisor solo se compara con el claim iss del JWT y no se obtiene.

Parameters
body OrganizationFederationIssuerNewParams
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 JWKSDiscovery 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 JWKSExplicitURL 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 JWKSInline 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
Returns
type FederationIssuer 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.

Crear emisor de federación
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"),
	)
	federationIssuer, err := client.Organization.Federation.Issuers.New(context.TODO(), anthropic.OrganizationFederationIssuerNewParams{
		IssuerURL: "x",
		Name:      "x",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", federationIssuer.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"
}