Directories
¶
| Path | Synopsis |
|---|---|
|
api
|
|
|
admin
Package admin provides the admin API HTTP server.
|
Package admin provides the admin API HTTP server. |
|
public
Package public provides the public-facing HTTP server, assembling routes from the oauth, vault, and wellknown sub-packages.
|
Package public provides the public-facing HTTP server, assembling routes from the oauth, vault, and wellknown sub-packages. |
|
public/connection
Package connectionapi serves the user-facing /connect/{provider} and /connections routes that orchestrate the upstream-Broker connect dance.
|
Package connectionapi serves the user-facing /connect/{provider} and /connections routes that orchestrate the upstream-Broker connect dance. |
|
public/oauth
Package oauth provides OAuth authorization and token HTTP handlers.
|
Package oauth provides OAuth authorization and token HTTP handlers. |
|
public/wellknown
Package wellknown provides discovery and infrastructure endpoints: JWKS, AS metadata, Protected Resource Metadata, health, and metrics.
|
Package wellknown provides discovery and infrastructure endpoints: JWKS, AS metadata, Protected Resource Metadata, health, and metrics. |
|
shared
Package shared provides middleware and error helpers used by both the public and admin HTTP servers.
|
Package shared provides middleware and error helpers used by both the public and admin HTTP servers. |
|
cmd
|
|
|
authserver
command
Package main is the entrypoint for the authserver binary.
|
Package main is the entrypoint for the authserver binary. |
|
internal
|
|
|
adapters/aesmaster
Package aesmaster implements the DataEncryptor port using AES-256-GCM with HKDF-SHA256 per-value key derivation from a master key.
|
Package aesmaster implements the DataEncryptor port using AES-256-GCM with HKDF-SHA256 per-value key derivation from a master key. |
|
adapters/brokerproto/apikey
Package apikey implements the BrokerProtocol port for upstream services where the user supplies a long-lived API key (e.g.
|
Package apikey implements the BrokerProtocol port for upstream services where the user supplies a long-lived API key (e.g. |
|
adapters/brokerproto/oauth
Package oauth implements the BrokerProtocol port for upstream OAuth 2.0 providers — the upstream-facing OAuth dance (authorize URL + code exchange) plus refresh-token vending.
|
Package oauth implements the BrokerProtocol port for upstream OAuth 2.0 providers — the upstream-facing OAuth dance (authorize URL + code exchange) plus refresh-token vending. |
|
adapters/brokerproto/serviceaccount
Package serviceaccount implements the BrokerProtocol port for upstream providers where the AS holds a service-account private key and impersonates a specific user via an outbound RFC 7521 §4.2 / RFC 7523 §2.1 JWT bearer assertion (e.g.
|
Package serviceaccount implements the BrokerProtocol port for upstream providers where the AS holds a service-account private key and impersonates a specific user via an outbound RFC 7521 §4.2 / RFC 7523 §2.1 JWT bearer assertion (e.g. |
|
adapters/cimd
Package cimd provides an HTTP-based Client ID Metadata Document fetcher.
|
Package cimd provides an HTTP-based Client ID Metadata Document fetcher. |
|
adapters/encryption
Package encryption provides a factory for creating the configured DataEncryptor backend.
|
Package encryption provides a factory for creating the configured DataEncryptor backend. |
|
adapters/hcvault
Package hcvault implements key storage and data encryption using HashiCorp Vault Transit.
|
Package hcvault implements key storage and data encryption using HashiCorp Vault Transit. |
|
adapters/idpjwks
Package idpjwks provides a JWKS fetcher and cache for trusted IdP issuers.
|
Package idpjwks provides a JWKS fetcher and cache for trusted IdP issuers. |
|
adapters/keyfile
Package keyfile implements key storage using PEM files on disk.
|
Package keyfile implements key storage using PEM files on disk. |
|
adapters/oidc
Package oidc implements upstream OIDC federation using net/http + go-jose/v4.
|
Package oidc implements upstream OIDC federation using net/http + go-jose/v4. |
|
adapters/postgres
Package postgres provides PostgreSQL implementations of the output port interfaces.
|
Package postgres provides PostgreSQL implementations of the output port interfaces. |
|
adapters/signing
Package signing provides a factory for creating the configured KeyStore backend.
|
Package signing provides a factory for creating the configured KeyStore backend. |
|
adapters/sqlite
Package sqlite provides SQLite implementations of the output port interfaces.
|
Package sqlite provides SQLite implementations of the output port interfaces. |
|
adapters/storage
Package storage provides a factory for creating the configured DataStore backend.
|
Package storage provides a factory for creating the configured DataStore backend. |
|
admin/dto
Package dto holds the JSON wire-shape views for the unified-resource admin surface.
|
Package dto holds the JSON wire-shape views for the unified-resource admin surface. |
|
brokerproto
Package brokerproto holds the BrokerProtocol adapter registry that internal/services/broker_issuer.go consults at request time to dispatch upstream-token vending by protocol name.
|
Package brokerproto holds the BrokerProtocol adapter registry that internal/services/broker_issuer.go consults at request time to dispatch upstream-token vending by protocol name. |
|
config
Package config provides configuration loading and validation for authserver.
|
Package config provides configuration loading and validation for authserver. |
|
crypto
Package crypto provides cryptographic primitives for authserver.
|
Package crypto provides cryptographic primitives for authserver. |
|
domain
Package domain contains shared domain types and errors.
|
Package domain contains shared domain types and errors. |
|
domain/audit
Package audit contains the Event domain entity.
|
Package audit contains the Event domain entity. |
|
domain/client
Package client contains the Client domain entity for OAuth 2.1 clients.
|
Package client contains the Client domain entity for OAuth 2.1 clients. |
|
domain/idp
Package idp contains the TrustedIDP domain entity for XAA enterprise-managed authorization.
|
Package idp contains the TrustedIDP domain entity for XAA enterprise-managed authorization. |
|
domain/resource
Package resource contains domain types for the unified Resource registry and its companion shapes.
|
Package resource contains domain types for the unified Resource registry and its companion shapes. |
|
domain/session
Package session contains the AuthSession domain entity.
|
Package session contains the AuthSession domain entity. |
|
domain/token
Package token contains the Family and RefreshToken domain entities.
|
Package token contains the Family and RefreshToken domain entities. |
|
domain/user
Package user contains the User domain entity.
|
Package user contains the User domain entity. |
|
domain/xaa
Package xaa provides domain types for Enterprise-Managed Authorization (Cross App Access) policies and subject mappings.
|
Package xaa provides domain types for Enterprise-Managed Authorization (Cross App Access) policies and subject mappings. |
|
issuer
Package issuer holds the Issuer registry consulted by internal/services/token_exchange.go at request time to dispatch token issuance by Resource.BackendKind.
|
Package issuer holds the Issuer registry consulted by internal/services/token_exchange.go at request time to dispatch token issuance by Resource.BackendKind. |
|
observability
Package observability provides unified logging, tracing, and metrics.
|
Package observability provides unified logging, tracing, and metrics. |
|
ports/input
Package input defines the driving ports — what the outside world asks the system to do.
|
Package input defines the driving ports — what the outside world asks the system to do. |
|
ports/output
Package output defines the driven ports — what the system needs from the outside world.
|
Package output defines the driven ports — what the system needs from the outside world. |
|
services
Package services contains application services.
|
Package services contains application services. |
|
ssrf
Package ssrf provides SSRF-safe HTTP transport that blocks connections to private/reserved IP addresses.
|
Package ssrf provides SSRF-safe HTTP transport that blocks connections to private/reserved IP addresses. |
|
migrations
|
|
|
postgres
Package postgres provides embedded PostgreSQL migration files.
|
Package postgres provides embedded PostgreSQL migration files. |
|
sqlite
Package sqlite embeds SQL migration files for the SQLite backend.
|
Package sqlite embeds SQL migration files for the SQLite backend. |
|
tools
|
|
|
docsgen
command
Package main implements docsgen: a small CLI that generates reference documentation (CLI flags, HTTP API, environment variables, configuration) for the Authplane authserver by inspecting the source tree.
|
Package main implements docsgen: a small CLI that generates reference documentation (CLI flags, HTTP API, environment variables, configuration) for the Authplane authserver by inspecting the source tree. |
|
docsgen/cmd
openapi.go — generate OpenAPI 3 YAML for the public + admin servers from the same handler/DTO AST walk that produces docs/reference/http-api.md.
|
openapi.go — generate OpenAPI 3 YAML for the public + admin servers from the same handler/DTO AST walk that produces docs/reference/http-api.md. |
|
docsgen/internal/configast
Package configast provides an AST-driven model of the authserver's configuration package.
|
Package configast provides an AST-driven model of the authserver's configuration package. |
|
docsgen/internal/mdwriter
Package mdwriter contains small, pure helpers for building Markdown fragments: tables, fenced code blocks, anchors and sections.
|
Package mdwriter contains small, pure helpers for building Markdown fragments: tables, fenced code blocks, anchors and sections. |
|
docsgen/internal/srcref
Package srcref formats AST positions as repo-relative "file:line" references suitable for embedding in generated reference docs.
|
Package srcref formats AST positions as repo-relative "file:line" references suitable for embedding in generated reference docs. |
|
docslinks
command
docslinks walks every Markdown file in the repo and verifies that inline links of the form `[text](path)` or `[text](path#fragment)` resolve: the target file exists, and any `#fragment` matches either an explicit `<a id="fragment"></a>` element or a heading whose GitHub slug matches the fragment.
|
docslinks walks every Markdown file in the repo and verifies that inline links of the form `[text](path)` or `[text](path#fragment)` resolve: the target file exists, and any `#fragment` matches either an explicit `<a id="fragment"></a>` element or a heading whose GitHub slug matches the fragment. |
|
loccount
command
Package main implements loccount: a small CLI that counts auth-specific lines of code inside marked regions in example projects and renders a summary banner in each example's README.md.
|
Package main implements loccount: a small CLI that counts auth-specific lines of code inside marked regions in example projects and renders a summary banner in each example's README.md. |
|
web
|
|
|
admin
Package webadmin provides the embedded admin UI static files.
|
Package webadmin provides the embedded admin UI static files. |
Click to show internal directories.
Click to hide internal directories.
