You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`/type`| String |:red_circle:**Yes**| N/A | The policy type. Currently only `apiKey`is supported|
362
+
|`/type`| String |:red_circle:**Yes**| N/A | The policy type, either `apiKey`or `jwt`|
359
363
|`/name`| String |:red_circle:**Yes**| N/A | The policy name, surfaced in directory listings. Must consist of lowercase letters, digits, and hyphens. The name `public` is reserved |
360
-
|`/algorithm`| String |:red_circle:**Yes**| N/A | How a presented key is compared against the stored keys. Either `identity` (the environment variable holds the key verbatim) or `sha256` (the environment variable holds the lowercase hexadecimal SHA-256 digest of the key) |
361
364
|`/paths`| Array |:red_circle:**Yes**| N/A | The registry paths this policy governs, each rooted at `/`. Every path must be `/` itself (governing the whole instance) or name a known collection, page, or route |
362
-
|`/keys`| Array |:red_circle:**Yes**| N/A | The keys this policy accepts, each read from an environment variable so that secrets never live in the configuration file |
363
-
|`/keys/*/environmentVariable`| String |:red_circle:**Yes**| N/A | The name of the environment variable that holds the key, or its hash when `algorithm` is not `identity`|
364
365
365
366
### API Key
366
367
367
368
Consumers present a key through the `Authorization` header using the `Bearer`
|`/algorithm`| String |:red_circle:**Yes**| N/A | How a presented key is compared against the stored keys. Either `identity` (the environment variable holds the key verbatim) or `sha256` (the environment variable holds the lowercase hexadecimal SHA-256 digest of the key) |
376
+
|`/keys`| Array |:red_circle:**Yes**| N/A | The keys this policy accepts, each read from an environment variable so that secrets never live in the configuration file |
377
+
|`/keys/*/environmentVariable`| String |:red_circle:**Yes**| N/A | The name of the environment variable that holds the key, or its hash when `algorithm` is not `identity`|
378
+
370
379
!!! tip
371
380
372
381
To consume schemas from a gated instance in your projects, take a look at
|`/issuer`| String |:red_circle:**Yes**| N/A | The token issuer to trust, matched against the `iss` claim |
470
+
|`/audience`| String |:red_circle:**Yes**| N/A | The audience this instance identifies as. A token is accepted when its `aud` claim includes this value, so a token minted for several audiences at once is accepted as long as this one is among them |
471
+
|`/algorithms`| Array |:red_circle:**Yes**| N/A | The JSON Web Signature algorithms the policy accepts. One or more of `RS256`, `RS384`, `RS512`, `PS256`, `PS384`, `PS512`, `ES256`, `ES384`, `ES512`, and `EdDSA`|
472
+
|`/jwksUri`| String | No | Discovered from the issuer | The URL of the issuer's JSON Web Key Set. When omitted, it is discovered from the issuer's OpenID Connect metadata at `{issuer}/.well-known/openid-configuration`|
473
+
474
+
For example, the following instance keeps `/docs` public, gates `/partners`
475
+
behind an API key, and protects `/internal` with a JWT policy that trusts a
0 commit comments