Skip to content

feat: support compliant machine-only FAPI profiles - #133

Open
greg6775 wants to merge 1 commit into
luikyv:mainfrom
dev-null-GmbH:codex/machine-profile-correctness
Open

feat: support compliant machine-only FAPI profiles#133
greg6775 wants to merge 1 commit into
luikyv:mainfrom
dev-null-GmbH:codex/machine-profile-correctness

Conversation

@greg6775

@greg6775 greg6775 commented Aug 2, 2026

Copy link
Copy Markdown

Summary

  • allow FAPI 2 providers that expose only machine-to-machine grants instead of requiring authorization_code
  • when authorization_code is enabled, require code-only response types, PAR, PKCE S256, issuer response parameters, and a PAR lifetime below 600 seconds
  • enforce required RFC 8707 resources for client_credentials
  • validate configured resource indicators as unique absolute URIs without fragments and defensively copy configuration
  • return unauthorized_client as HTTP 400 at the token endpoint without changing protected-resource 401 behavior

Verification

  • go test ./...
  • go test -race ./internal/token ./pkg/provider ./pkg/goidc ./internal/userinfo
  • go vet ./...
  • golangci-lint run
  • git diff --check

References: FAPI 2.0 Security Profile, RFC 8707, and RFC 6749 token endpoint error semantics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant