Exposing GraphQL APIs Securely with Azure APIM: A Step-by-Step Guide๐
Are you looking to expose GraphQL APIs
securely? Azure API Management (APIM) provides robust support for GraphQL,
making it easier to manage and secure your APIs.
In APIM, there are 2 options available to
expose GraphQL api.
-
Pass-Through GraphQL: Proxy an existing
GraphQL service (hides original service details)
- Synthetic GraphQL: Build a GraphQL API
on top of REST APIs/other services
This article covers Pass-Through
GraphQL.
Step 1: Create a GraphQL API in APIM
- Azure portal > APIM > APIs > + Add API >
GraphQL
Step 2: Import GraphQL Schema
- Provide GraphQL endpoint, API URL suffix, display name
- APIM auto-fetches schema (if endpoint is accessible). If it does not do auto fetches, choose to import a schema file(*.graphql). Click on Create button.
Please Note: In case of endpoint. If apim does not auto fetches the schema then check if :
o
Url needs auth
o
Is there any network APIM restrictions
o
Invalid Url
o
Schema not publicly accessible
o
CORS issue
APIM will parse the schema and detect queries/mutations.
After importing/fetching schema, UI will look like this:

Step 3: Set Policies for Security & Management ๐
Add policies (auth, rate limiting, etc.) in API Policies tab
Step 4: Test the API
Use the Test tab to run queries/mutations
๐ก Example Query:
Within Query Editor:
query {
comment(id: "id")
{
authorId
id
}
}
Within Query Variable:
{
"id":"user123"
}
๐ก Summary: This guide showed how to configure Pass-Through GraphQL in APIM. Try it out and level up your API management!



Comments
Post a Comment