Claude Platform Docs

Создать издателя федерации

FederationIssuer organization().federation().issuers().create(params, requestOptions = RequestOptions.none())
POST/v1/organizations/federation_issuers

Требуется токен доступа OAuth с областью org:admin, полученный с помощью ant auth login --scope org:admin или правила федерации удостоверений рабочих нагрузок; ключи Admin API не принимаются. См. Управление WIF с помощью Admin API.

Регистрирует издателя OIDC, которому Anthropic будет доверять для федерации удостоверений рабочих нагрузок в вашей организации.

Поле jwks определяет, как получаются ключи подписи издателя, и принимает одну из трёх форм, выбираемых по type: discovery (получение ключей через OIDC discovery), explicit_url (загрузка ключей с фиксированного URL JWKS) или inline (статический набор ключей). Если jwks.type равен discovery и discovery_base не задан, URL издателя должен быть публично доступен по HTTPS, чтобы Anthropic могла загрузить документ discovery; в режимах explicit_url и inline URL издателя только сопоставляется с утверждением iss в JWT и не загружается.

Parameters
IssuerCreateParams params
String issuerUrl

The iss claim value to match against.

minLength1
String name

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

minLength1
maxLength255
Optional<Boolean> checkJti

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.

Optional<Jwks> jwks

How signing keys are obtained. Defaults to OIDC discovery.

class JwksDiscovery { type = "discovery"; caCertPem; discoveryBase; }

JWKS via the issuer's OIDC discovery document.

JsonValue type = "discovery"
Optional<String> caCertPem

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

maxLength8192
Optional<String> discoveryBase

Set when the discovery URL differs from issuer_url.

class JwksExplicitUrl { type = "explicit_url"; url; caCertPem; }

JWKS fetched from a fixed endpoint.

JsonValue type = "explicit_url"
String url

JWKS endpoint.

minLength1
Optional<String> caCertPem

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

maxLength8192
class JwksInline { type = "inline"; keys; }

JWKS supplied directly; no network fetch.

JsonValue type = "inline"
List<Key> keys

Inline JWK objects.

minItems1
Optional<Long> maxJwtLifetimeSeconds

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
class FederationIssuer { 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 com.anthropic.example;

import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.organization.federation.issuers.FederationIssuer;
import com.anthropic.models.organization.federation.issuers.IssuerCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        AnthropicClient client = AnthropicOkHttpClient.fromEnv();

        IssuerCreateParams params = IssuerCreateParams.builder()
            .issuerUrl("x")
            .name("x")
            .build();
        FederationIssuer federationIssuer = client.organization().federation().issuers().create(params);
    }
}
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"
}