Skip to content

Commit 669befc

Browse files
Merge pull request #312511 from MicrosoftDocs/main
Auto Publish – main to live - 2026-03-02 23:00 UTC
2 parents c2560fd + a3599cb commit 669befc

62 files changed

Lines changed: 1957 additions & 3251 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

articles/api-management/export-rest-mcp-server.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Learn more about:
2929

3030
## Limitations
3131

32-
* API Management currently supports MCP server tools, but it doesn't support MCP resources or prompts.
32+
* For MCP servers exposed in API Management from managed REST APIs, API Management currently supports MCP server tools, but it doesn't support MCP resources or prompts.
3333
* API Management currently doesn't support MCP server capabilities in [workspaces](workspaces-overview.md).
3434

3535
## Prerequisites

articles/api-management/expose-existing-mcp-server.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Learn more about:
3737
* Either no authorization, or authorization protocols that comply with the following standards: [https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#standards-compliance](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#standards-compliance).
3838
* Streamable HTTP or SSE transport types.
3939

40-
* API Management currently supports MCP server tools, but it doesn't support MCP resources or prompts.
40+
* For external MCP servers, API Management currently supports MCP server tools and resources, but it doesn't support MCP prompts.
4141
* API Management currently doesn't support MCP server capabilities in [workspaces](workspaces-overview.md).
4242

4343
## Prerequisites

articles/api-management/validate-jwt-policy.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: azure-api-management
88
ms.topic: reference
9-
ms.date: 01/27/2025
9+
ms.date: 02/25/2026
1010
ms.author: danlep
1111
---
1212

@@ -36,7 +36,7 @@ The `validate-jwt` policy enforces existence and validity of a supported JSON we
3636
require-signed-tokens="true | false"
3737
clock-skew="allowed clock skew in seconds"
3838
output-token-variable-name="name of a variable to receive a JWT object representing successfully validated token">
39-
<openid-config url="full URL of the configuration endpoint, for example, https://login.constoso.com/openid-configuration" />
39+
<openid-config url="full URL of the configuration endpoint, for example, https://login.constoso.com/openid-configuration" validate-connectivity="true | false"/>
4040
<issuer-signing-keys>
4141
<key id="kid-claim" certificate-id="mycertificate" n="modulus" e="exponent">Base64 encoded signing key</key>
4242
<!-- if there are multiple keys, then add additional key elements -->
@@ -84,7 +84,7 @@ The `validate-jwt` policy enforces existence and validity of a supported JSON we
8484

8585
| Element | Description | Required |
8686
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
87-
| openid-config |Add one or more of these elements to specify a compliant OpenID configuration endpoint URL from which signing keys and issuer can be obtained.<br/><br/>Configuration including the JSON Web Key Set (JWKS) is pulled from the endpoint every 1 hour and cached. If the token being validated references a validation key (using `kid` claim) that is missing in cached configuration, or if retrieval fails, API Management pulls from the endpoint at most once per 5 min. These intervals are subject to change without notice. <br/><br/>The response should be according to specs as defined at URL: `https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata`. <br/><br/>For Microsoft Entra ID use the OpenID Connect [metadata endpoint](../active-directory/develop/v2-protocols-oidc.md#find-your-apps-openid-configuration-document-uri) configured in your app registration such as:<br/>- v2 `https://login.microsoftonline.com/{tenant-name}/v2.0/.well-known/openid-configuration`<br/>- v2 Multi-Tenant ` https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration`<br/>- v1 `https://login.microsoftonline.com/{tenant-name}/.well-known/openid-configuration` <br/>- Customer tenant (preview) `https://{tenant-name}.ciamlogin.com/{tenant-id}/v2.0/.well-known/openid-configuration` <br/><br/> Substituting your directory tenant name or ID, for example `contoso.onmicrosoft.com`, for `{tenant-name}`. | No |
87+
| openid-config |Add one or more of these elements to specify a compliant OpenID configuration endpoint (`url` attribute) from which signing keys and issuer can be obtained.<br/><br/>Optionally, set `validate-connectivity` attribute to `false` to disable check of endpoint availability if URL can't be resolved via public DNS.<br/><br/>Configuration including the JSON Web Key Set (JWKS) is pulled from the endpoint every 1 hour and cached. If the token being validated references a validation key (using `kid` claim) that is missing in cached configuration, or if retrieval fails, API Management pulls from the endpoint at most once per 5 min. These intervals are subject to change without notice. <br/><br/>The response should be according to specs as defined at URL: `https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata`. <br/><br/>For Microsoft Entra ID use the OpenID Connect [metadata endpoint](../active-directory/develop/v2-protocols-oidc.md#find-your-apps-openid-configuration-document-uri) configured in your app registration such as:<br/>- v2 `https://login.microsoftonline.com/{tenant-name}/v2.0/.well-known/openid-configuration`<br/>- v2 Multi-Tenant ` https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration`<br/>- v1 `https://login.microsoftonline.com/{tenant-name}/.well-known/openid-configuration` <br/>- Customer tenant (preview) `https://{tenant-name}.ciamlogin.com/{tenant-id}/v2.0/.well-known/openid-configuration` <br/><br/> Substituting your directory tenant name or ID, for example `contoso.onmicrosoft.com`, for `{tenant-name}`. | No |
8888
| issuer-signing-keys | A list of Base64-encoded security keys, in [`key`](#key-attributes) subelements, used to validate signed tokens. If multiple security keys are present, then each key is tried until either all are exhausted (in which case validation fails) or one succeeds (useful for token rollover). <br/><br/>Optionally, specify a key by using the `id` attribute to match the token's `kid` claim. To validate a token signed with an asymmetric key, optionally specify the public key using a `certificate-id` attribute with value set to the identifier of a certificate uploaded to API Management, or the RSA modulus `n` and exponent `e` pair of the signing key in Base64url-encoded format. | No |
8989
| decryption-keys | A list of Base64-encoded keys, in [`key`](#key-attributes) subelements, used to decrypt the tokens. If multiple security keys are present, then each key is tried until either all keys are exhausted (in which case validation fails) or a key succeeds.<br/><br/> To decrypt a token encrypted with an asymmetric key, optionally specify the public key using a `certificate-id` attribute with value set to the identifier of a certificate uploaded to API Management. | No |
9090
| audiences | A list of acceptable audience claims, in `audience` subelements, that can be present on the token. If multiple audience values are present, then each value is tried until either all are exhausted (in which case validation fails) or until one succeeds. At least one audience must be specified. | No |
@@ -121,8 +121,7 @@ The `validate-jwt` policy enforces existence and validity of a supported JSON we
121121
* If used in the policy, the key must be provided inline within the policy in the Base64-encoded form.
122122
* **Asymmetric** - The following encryption algorithms are supported: PS256, RS256, RS512, ES256.
123123
* If used in the policy, the key may be provided either via an OpenID configuration endpoint, or by providing the ID of an uploaded certificate (in PFX format) that contains the public key, or the modulus-exponent pair of the public key.
124-
* If the API Management instance is injected or integrated in a virtual network, any OpenID configuration endpoint URLs configured in the policy must be reachable by the gateway.
125-
* To configure the policy with one or more OpenID configuration endpoints for use with a self-hosted gateway, the OpenID configuration endpoints URLs must also be reachable by the cloud gateway.
124+
* If the API Management instance is injected or integrated in a virtual network and `openid-config` endpoint URLs are configured in the policy, set the `validate-connectivity` attribute to `false` to disable check of endpoint availability.
126125
* You can use access restriction policies in different scopes for different purposes. For example, you can secure the whole API with Microsoft Entra authentication by applying the `validate-jwt` policy on the API level, or you can apply it on the API operation level and use `claims` for more granular control.
127126
* When using a custom header (`header-name`), the configured required scheme (`require-scheme`) will be ignored. To use a required scheme, JWTs must be provided in the `Authorization` header.
128127

0 commit comments

Comments
 (0)