|
1 | 1 | # Configuration Reference |
2 | 2 |
|
3 | | -**Generated:** 2026-02-26 |
| 3 | +**Generated:** 2026-03-06 |
4 | 4 |
|
5 | 5 | Complete reference for all configuration parameters in the VC system. |
6 | 6 |
|
@@ -611,16 +611,58 @@ This configures how the verifier issues ID tokens and access tokens to relying p |
611 | 611 | Note: This is NOT related to verifiable credential issuance (see IssuerConfig for VC issuance). |
612 | 612 | The signing key is shared from the parent Verifier.KeyConfig. |
613 | 613 |
|
614 | | -| Field | Type | Description | Example | Default | Required | |
615 | | -| ------------------------ | -------- | -------------------------------------------------------------------------- | ----------------------------- | ------- | -------- | |
616 | | -| `issuer` | `string` | OIDC Provider identifier that appears in ID tokens and discovery metadata. | `"https://verifier.sunet.se"` | - | Yes | |
617 | | -| `session_duration` | `int` | Session duration in seconds | - | `3600` | No | |
618 | | -| `code_duration` | `int` | Authorization code duration in seconds | - | `300` | No | |
619 | | -| `access_token_duration` | `int` | Access token duration in seconds | - | `3600` | No | |
620 | | -| `id_token_duration` | `int` | ID token duration in seconds | - | `3600` | No | |
621 | | -| `refresh_token_duration` | `int` | Refresh token duration in seconds | - | `86400` | No | |
622 | | -| `subject_type` | `string` | Subject type: "public" or "pairwise" | - | - | Yes | |
623 | | -| `subject_salt` | `string` | Salt for pairwise subject generation | - | - | Yes | |
| 614 | +| Field | Type | Description | Example | Default | Required | |
| 615 | +| --------------------------- | -------- | -------------------------------------------------------------------------- | ----------------------------- | ------- | -------- | |
| 616 | +| `issuer` | `string` | OIDC Provider identifier that appears in ID tokens and discovery metadata. | `"https://verifier.sunet.se"` | - | Yes | |
| 617 | +| `session_duration` | `int` | Session duration in seconds | - | `3600` | No | |
| 618 | +| `code_duration` | `int` | Authorization code duration in seconds | - | `300` | No | |
| 619 | +| `access_token_duration` | `int` | Access token duration in seconds | - | `3600` | No | |
| 620 | +| `id_token_duration` | `int` | ID token duration in seconds | - | `3600` | No | |
| 621 | +| `refresh_token_duration` | `int` | Refresh token duration in seconds | - | `86400` | No | |
| 622 | +| `subject_type` | `string` | Subject type: "public" or "pairwise" | - | - | Yes | |
| 623 | +| `subject_salt` | `string` | Salt for pairwise subject generation | - | - | Yes | |
| 624 | +| `static_clients` | `array` | List of pre-configured OIDC clients | - | - | No | |
| 625 | +| `dynamic_registration_auth` | `object` | Authorization for POST /register (RFC 7591). | - | - | No | |
| 626 | + |
| 627 | +### `static_clients` entry |
| 628 | + |
| 629 | +> **Path:** `.verifier.oidc.static_clients[]` |
| 630 | +
|
| 631 | +Static clients are configured in YAML and do not require dynamic registration. |
| 632 | +These clients are checked in addition to dynamically registered clients stored in the database. |
| 633 | + |
| 634 | +| Field | Type | Description | Example | Default | Required | |
| 635 | +| ---------------------------- | ---------- | ------------------------------------------------- | ------- | ------------------------ | -------- | |
| 636 | +| `client_id` | `string` | Unique identifier for the client | - | - | Yes | |
| 637 | +| `client_secret` | `string` | Client secret for authentication. | - | - | No | |
| 638 | +| `redirect_uris` | `[]string` | List of allowed redirect URIs for this client | - | - | Yes | |
| 639 | +| `allowed_scopes` | `[]string` | List of scopes this client is allowed to request. | - | - | No | |
| 640 | +| `token_endpoint_auth_method` | `string` | Authentication method for the token endpoint. | - | `client_secret_basic` | No | |
| 641 | +| `grant_types` | `[]string` | List of allowed grant types. | - | `["authorization_code"]` | No | |
| 642 | +| `response_types` | `[]string` | List of allowed response types. | - | `["code"]` | No | |
| 643 | +| `client_name` | `string` | Optional human-readable name for the client | - | - | No | |
| 644 | + |
| 645 | +### `dynamic_registration_auth` |
| 646 | + |
| 647 | +> **Path:** `.verifier.oidc.dynamic_registration_auth` |
| 648 | +
|
| 649 | +| Field | Type | Description | Example | Default | Required | |
| 650 | +| -------------------------- | -------- | ------------------------------------------------------------------------------------------ | ------- | ------- | -------- | |
| 651 | +| `mode` | `string` | Registration authorization behavior. | - | `open` | No | |
| 652 | +| `static_bearer_token_file` | `string` | StaticBearerTokenFile points to a file containing the expected bearer token (single line). | - | - | No | |
| 653 | +| `jwt` | `object` | JWT config for Mode=jwt. | - | - | No | |
| 654 | + |
| 655 | +### `jwt` |
| 656 | + |
| 657 | +> **Path:** `.verifier.oidc.dynamic_registration_auth.jwt` |
| 658 | +
|
| 659 | +| Field | Type | Description | Example | Default | Required | |
| 660 | +| ---------------------- | ---------- | ------------------------------------------------------------- | ------- | ------------------- | -------- | |
| 661 | +| `jwks_uri` | `string` | URL to fetch signing keys from. | - | - | Yes | |
| 662 | +| `issuer` | `string` | Required issuer claim (iss). | - | - | Yes | |
| 663 | +| `audience` | `string` | Required audience claim (aud). | - | - | Yes | |
| 664 | +| `allowed_signing_algs` | `[]string` | AllowedSigningAlgs restricts accepted JWT signing algorithms. | - | `["RS256","ES256"]` | No | |
| 665 | +| `clock_skew_seconds` | `int` | Tolerated clock skew for exp/nbf/iat validation. | - | `60` | No | |
624 | 666 |
|
625 | 667 | ### `openid4vp` |
626 | 668 |
|
@@ -687,12 +729,15 @@ The signing key is shared from the parent Verifier.KeyConfig. |
687 | 729 |
|
688 | 730 | This is used for validating W3C VC Data Integrity proofs and other trust-related operations. |
689 | 731 |
|
690 | | -| Field | Type | Description | Example | Default | Required | |
691 | | -| ------------------- | ---------- | ----------------------------------------------------------- | ------------------------------ | ------------------------ | -------- | |
692 | | -| `go_trust_url` | `string` | URL of the go-trust PDP (Policy Decision Point) service. | `"https://trust.sunet.se/pdp"` | - | No | |
693 | | -| `local_did_methods` | `[]string` | Which DID methods can be resolved locally without go-trust. | - | `["did:key", "did:jwk"]` | No | |
694 | | -| `trust_policies` | `object` | Per-role trust evaluation policies. | - | - | No | |
695 | | -| `enable` | `bool` | Whether trust evaluation is enabled. | - | `true` | No | |
| 732 | +Trust evaluation operates in one of two modes: |
| 733 | +- When PDPURL is configured: "default deny" mode - all trust decisions go through the PDP |
| 734 | +- When PDPURL is empty: "allow all" mode - keys are resolved but always considered trusted |
| 735 | + |
| 736 | +| Field | Type | Description | Example | Default | Required | |
| 737 | +| ------------------- | ---------- | ---------------------------------------------------------------------------- | ------------------------------ | ------------------------ | -------- | |
| 738 | +| `pdp_url` | `string` | URL of the AuthZEN PDP (Policy Decision Point) service for trust evaluation. | `"https://trust.sunet.se/pdp"` | - | No | |
| 739 | +| `local_did_methods` | `[]string` | Which DID methods can be resolved locally without go-trust. | - | `["did:key", "did:jwk"]` | No | |
| 740 | +| `trust_policies` | `object` | Per-role trust evaluation policies. | - | - | No | |
696 | 741 |
|
697 | 742 | ### `trust_policies` entry |
698 | 743 |
|
@@ -737,7 +782,7 @@ Configuration for the Registry service that manages credential status. |
737 | 782 |
|
738 | 783 | | Field | Type | Description | Example | Default | Required | |
739 | 784 | | ---------- | -------- | -------------- | ------- | ------- | ---------------- | |
740 | | -| `enable` | `bool` | The admin GUI | - | `true` | No | |
| 785 | +| `enable` | `bool` | The admin GUI | - | `false` | No | |
741 | 786 | | `username` | `string` | Admin username | - | `admin` | Yes (if enabled) | |
742 | 787 | | `password` | `string` | Admin password | - | - | Yes (if enabled) | |
743 | 788 |
|
|
0 commit comments