Photon · Authentication Profile

Photon Authentication

Authentication

Photon secures its APIs with oauth2 and http across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the clientCredentials flow(s).

HealthcareUnited Statese-PrescribingPharmacyPrescription RoutingGraphQLClinical APIDigital HealthBenefit CheckOAuth2
Methods: oauth2, http Schemes: 2 OAuth flows: clientCredentials API key in:

Security Schemes

OAuth2ClientCredentials oauth2
BearerAuth http
scheme: bearer · in: header (Authorization)

Source

Authentication Profile

photon-authentication.yml Raw ↑
generated: '2026-07-24'
method: searched
source: https://docs.photon.health/docs/authentication
docs: https://docs.photon.health/docs/authentication
summary:
  types: [oauth2, http]
  http_scheme: bearer
  oauth2_flows: [clientCredentials]
  provider: Auth0
  notes: >-
    Photon secures its single GraphQL endpoint with OAuth2 client-credentials
    access tokens issued by Auth0. Tokens are presented as a Bearer token in the
    Authorization header. Two token shapes: machine-to-machine (backend, all
    actions except write:prescription) and user access tokens (frontend via
    Elements; only authorized providers receive write:prescription).
schemes:
- name: OAuth2ClientCredentials
  type: oauth2
  flow: clientCredentials
  provider: Auth0
  production:
    token_url: https://auth.photon.health/oauth/token
    audience: https://api.photon.health
    issuer: https://auth.photon.health/
    jwks_uri: https://auth.photon.health/.well-known/jwks.json
  sandbox:
    token_url: https://auth.neutron.health/oauth/token
    audience: https://api.neutron.health
  token_type: Bearer
  expires_in: 86400
  request_params: [client_id, client_secret, audience, grant_type]
  sources: [well-known/photon-openid-configuration.json, review.yml]
- name: BearerAuth
  type: http
  scheme: bearer
  in: header
  parameter: Authorization
  sources: [https://docs.photon.health/docs/authentication]
token_shapes:
- name: Machine-to-Machine (M2M)
  audience: backend
  note: Obtained from the Photon app settings; can perform all actions except write:prescription.
- name: User Access Token
  audience: frontend
  note: Generated from logged-in user roles (via Elements); only authorized providers get write:prescription.