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
Copy file name to clipboardExpand all lines: articles/event-grid/authenticate-with-namespaces-using-webhook-authentication.md
+32-1Lines changed: 32 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,38 @@ az eventgrid namespace update --resource-group <resource group name> --name <nam
47
47
48
48
For information on how to configure system and user-assigned identities by using the Azure portal, see [Enable managed identity for an Event Grid namespace](event-grid-namespace-managed-identity.md).
Azure Functions can host the webhook logic using `Microsoft.Identity.Web` to validate token automatically. We need Microsoft Entra app registration for Webhook API for validating Event Grid caller tokens, which has an Application ID URI for token issuance. Client side (Event Grid) already has managed identity.
This implementation can be any external HTTPS Endpoint (any cloud, any backend), using Microsoft Entra ID JWT validation with `Microsoft.IdentityModel` libraries.
71
+
72
+
Use any runtime: .NET / Node / Java / Python.
73
+
74
+
Key requirements:
75
+
76
+
- Must be HTTPS
77
+
- Must validate caller JWT
78
+
- Must validate device JWT
79
+
- Must respond within timeout (~5 sec recommended)
80
+
81
+
:::image type="content" source="./media/authenticate-with-namespaces-using-webhook-authentication/custom-webhook-implementations.svg" alt-text="Diagram that shows custom webhook implementations." lightbox="./media/authenticate-with-namespaces-using-webhook-authentication/custom-webhook-implementations.svg":::
51
82
52
83
53
84
## Grant the managed identity appropriate access to a function or webhook
@@ -165,7 +196,7 @@ The token is a Microsoft Entra token for the managed identity that was configure
165
196
|`password`| Optional | Password from MQTT CONNECT packet in Base64 encoding. |
|`authenticationData`| Optional | Authentication data from MQTT CONNECT packet in Base64 encoding (MQTT5 only). |
168
-
|`clientCertificate`| Optional | Client certificate in PEM format. |
199
+
|`clientCertificate`| Optional | Client certificate in Privacy-Enhanced Mail (PEM) format. |
169
200
|`clientCertificateChain`| Optional | Other certificates provided by the client required to build the chain from the client certificate to the Certificate Authority certificate. |
170
201
|`userProperties`| Optional | User properties from CONNECT packet (MQTT5 only). |
0 commit comments