An Azure service that provides an event-driven serverless compute platform.
Since the request never reaches your code and even the admin endpoint with a valid host key returns 403, something at the platform layer is rejecting it before the Functions host sees it. With CORS and access restrictions already ruled out, the most common culprit is App Service Authentication (Easy Auth). It sits in front of the whole app, and one of its options is to reject every unauthenticated request with exactly a 403.
- In the Function App, open Settings > Authentication.
- If an identity provider is configured, look at Restrict access and Unauthenticated requests. If it says "Require authentication" with HTTP 403 Forbidden, that explains both the portal Test/Run and your curl call.
- To confirm, temporarily switch Unauthenticated requests to Allow unauthenticated access (or turn authentication off on a non-production app) and run Test/Run again.
- If that was it, decide how you want to keep it secured: either call the function with a valid token from the identity provider, or configure excluded paths for the routes that should stay key-based.
If Authentication isn't configured at all, the next place I'd look is Configuration > General settings > Incoming client certificates. If that's set to Required, calls without a client certificate are also rejected before your code runs.
Is there anything listed under the Authentication blade on this Function App?
If this resolved your issue, please consider accepting it as the answer. If both settings are clean and the 403 stays, let me know and I'll be happy to keep helping.
Reference: