Start Here
Guardhouse is an OAuth 2.0 and OpenID Connect identity service. Each Guardhouse tenant provides:
- a hosted sign-in experience for people using your applications
- an authorization server that issues access, ID, and refresh tokens
- an administration dashboard for clients, API resources, scopes, users, roles, and permissions
- a privileged System API for automating user, role, and permission management
Your application redirects users to Guardhouse to sign in or authenticates as a backend service. Your API then validates the access token before accepting the request.
Choose Your Integration
| I want to... | Start with |
|---|---|
| Add sign-in to a React application | React sign-in quickstart |
| Protect an ASP.NET Core API | .NET API quickstart |
| Protect an Express API | Node.js API quickstart |
| Authenticate a backend, job, agent, or MCP server | Machine-to-machine quickstart |
| Choose between JWT validation and introspection | Protect an API |
| Automate users, roles, and permissions | Use the System API |
Before You Begin
You need a Guardhouse tenant and access to its administration dashboard. Keep these values nearby:
Issuer URL: https://your-tenant.guardhouse.cloud
Client ID: created in the Guardhouse dashboard
Audience: the identifier of the API resource receiving the token
A browser application is a public client and must not have a client secret. A backend or service client can keep a secret and may use the client credentials flow.
Your issuer publishes OpenID Connect metadata. Use it as the source of truth for endpoint and signing-key locations:
curl "https://your-tenant.guardhouse.cloud/.well-known/openid-configuration"
The Four Objects to Configure
- A client represents the application or service asking Guardhouse for tokens.
- An API resource represents the API that will accept an access token. Its identifier is the token audience expected by that API.
- A scope describes access that a client can request for an API resource.
- A user or service identity is the subject represented by the resulting token.
Read Clients, resources, and scopes before configuring a production integration.
How a Request Travels
Application or service
|
| authorize or request a token
v
Guardhouse tenant
|
| access token
v
Your API resource
|
| validate issuer, audience, lifetime, signature/state, and access
v
Protected operation
Authentication proves who the caller is. Your API is still responsible for authorization: checking the scopes, roles, permissions, or policies required by each operation.
Learn the Model
A client secret and a System API token are credentials. Never put them in React code, another browser bundle, a mobile application, a public repository, or logs.