zSpace · Authentication Profile
Zspace Authentication
Authentication
zSpace declares 3 security scheme(s) across its OpenAPI definitions.
CompanyEducationAugmented RealityVirtual RealityEdTechHardware3DSimulationCareer and Technical EducationDeveloper SDK
Methods:
Schemes: 3
OAuth flows:
API key in:
Security Schemes
openIdConnect
scheme: bearer
· in: header ()
oauth2
· flows: , , ,
apiKey
· in: cookie ()
Source
Authentication Profile
generated: '2026-09-05'
method: probed
source: https://auth.zspace.com/auth/realms/master/.well-known/openid-configuration
note: >-
Derived from the production Keycloak OpenID Connect discovery document, fetched
anonymously. No OpenAPI securitySchemes block exists to derive from — the zSpace
developer API publishes no public contract — so this profile records the identity
provider's own machine-readable metadata plus the auth behaviour observed on live
unauthenticated calls to https://api.zspace.com/v2.
provider:
type: keycloak
issuer: https://auth.zspace.com/auth/realms/master
realm: master
discovery: https://auth.zspace.com/auth/realms/master/.well-known/openid-configuration
jwks_uri: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/certs
non_production_realm:
issuer: https://auth.devqastage.zspace.com/auth/realms/master
note: >-
The live production redirect from https://api.zspace.com/v2/api/docs sends the user
to auth.devqastage.zspace.com with client_id=tester, not to auth.zspace.com. Recorded
as observed; both realms answer their discovery document anonymously.
schemes:
- id: openIdConnect
type: openIdConnect
in: header
scheme: bearer
openIdConnectUrl: https://auth.zspace.com/auth/realms/master/.well-known/openid-configuration
description: >-
OpenID Connect via Keycloak. Bearer access tokens are issued from the realm token
endpoint and validated against the published JWKS.
- id: oauth2
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/auth
tokenUrl: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/token
refreshUrl: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/token
scopes_ref: scopes/zspace-scopes.yml
clientCredentials:
tokenUrl: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/token
deviceCode:
deviceAuthorizationUrl: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/auth/device
password:
tokenUrl: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/token
note: >-
Resource-owner password grant is advertised in grant_types_supported. Recorded as
published, not recommended.
- id: session_cookie
type: apiKey
in: cookie
description: >-
The developer portal API itself is cookie-session based. An unauthenticated
GET https://api.zspace.com/v2/auth/sig returns
{"status":"auth-error","loggedin":"false","msg":"Missing cookie"} (HTTP 200),
and GET https://api.zspace.com/v2/social/get_csrf issues a CSRF token
({"csrf":"..."}) for the login flow.
observed:
- url: https://api.zspace.com/v2/auth/sig
status: 200
- url: https://api.zspace.com/v2/social/get_csrf
status: 200
endpoints:
authorization: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/auth
token: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/token
userinfo: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/userinfo
introspection: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/token/introspect
revocation: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/revoke
end_session: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/logout
registration: https://auth.zspace.com/auth/realms/master/clients-registrations/openid-connect
pushed_authorization_request: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/ext/par/request
device_authorization: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/auth/device
backchannel_authentication: https://auth.zspace.com/auth/realms/master/protocol/openid-connect/ext/ciba/auth
grant_types_supported:
- authorization_code
- implicit
- refresh_token
- password
- client_credentials
- urn:ietf:params:oauth:grant-type:device_code
- urn:openid:params:grant-type:ciba
token_endpoint_auth_methods_supported:
- private_key_jwt
- client_secret_basic
- client_secret_post
- tls_client_auth
- client_secret_jwt
code_challenge_methods_supported:
- plain
- S256
claims_supported:
- aud
- sub
- iss
- auth_time
- name
- given_name
- family_name
- preferred_username
- email
- acr
mutual_tls:
supported: true
evidence: >-
tls_client_auth in token_endpoint_auth_methods_supported and
tls_client_certificate_bound_access_tokens in the discovery document.
gaps:
- >-
No public API reference documents this authentication model. The Swagger UI at
https://api.zspace.com/v2/api/docs exists but 302s into the Keycloak authorization
endpoint, so an integrator cannot read the contract the tokens are for.
- No security.txt, no documented API key programme, no public token-issuance instructions.
Work with this as data
Every security artifact here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/zspace-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.