Firefly · Authentication Profile

Firefly Authentication

Authentication

Firefly secures its APIs with oauth2 and openIdConnect across 1 declared security scheme, as derived from its OpenAPI definitions.

CompanyAdvertisingDigital Out-of-HomeDOOHMobilityAdvertising TechnologyAdTechMarketingMeasurementProgrammatic Advertising
Methods: oauth2, openIdConnect Schemes: 1 OAuth flows: API key in:

Security Schemes

firefly-dashboard-oidc openIdConnect

Source

Authentication Profile

firefly-authentication.yml Raw ↑
generated: '2026-08-12'
method: probed
source: https://auth.fireflyon.com/.well-known/openid-configuration
docs: null
scope_of_this_artifact: >-
  This describes the identity layer in front of the Firefly advertiser dashboard
  (app.fireflyon.com) and its API gateway (app-gw.api.fireflyon.com) — NOT a public
  Firefly developer API. Firefly publishes no developer portal, no API reference and
  no OpenAPI; see x-coverage in apis.yml. The document below was read verbatim from a
  live, unauthenticated GET of the OpenID Connect discovery endpoint on Firefly's own
  auth host, so every value here is Firefly-served fact rather than derivation.
  The endpoint set is an Auth0 custom-domain tenant
  (auth.fireflyon.com CNAME -> fireflyon-cd-p4enovzjyobijetz.edge.tenants.auth0.com),
  which means the surface reflects Auth0 platform defaults; Firefly-specific choices
  cannot be separated from platform defaults without authenticated access.
summary:
  types:
  - oauth2
  - openIdConnect
  primary: OpenID Connect (Authorization Code + PKCE) against an Auth0 custom-domain tenant
  api_key_auth: false
  mutual_tls: false
schemes:
- name: firefly-dashboard-oidc
  type: openIdConnect
  openIdConnectUrl: https://auth.fireflyon.com/.well-known/openid-configuration
  issuer: https://auth.fireflyon.com/
  description: >-
    OpenID Connect discovery for the Firefly advertiser dashboard tenant. Verified live
    2026-08-12, HTTP 200, application/json, 2,501 bytes. Saved verbatim at
    well-known/firefly-openid-configuration.json. The RFC 8414 OAuth authorization-server
    metadata document at /.well-known/oauth-authorization-server is byte-identical.
  endpoints:
    authorization: https://auth.fireflyon.com/authorize
    token: https://auth.fireflyon.com/oauth/token
    userinfo: https://auth.fireflyon.com/userinfo
    jwks: https://auth.fireflyon.com/.well-known/jwks.json
    revocation: https://auth.fireflyon.com/oauth/revoke
    device_authorization: https://auth.fireflyon.com/oauth/device/code
    dynamic_client_registration: https://auth.fireflyon.com/oidc/register
    backchannel_authentication: https://auth.fireflyon.com/bc-authorize
    mfa_challenge: https://auth.fireflyon.com/mfa/challenge
  grant_types:
  - authorization_code
  - client_credentials
  - refresh_token
  - implicit
  - password
  - urn:ietf:params:oauth:grant-type:device_code
  - urn:ietf:params:oauth:grant-type:token-exchange
  - urn:ietf:params:oauth:grant-type:jwt-bearer
  - http://auth0.com/oauth/grant-type/password-realm
  - http://auth0.com/oauth/grant-type/passwordless/otp
  - http://auth0.com/oauth/grant-type/mfa-oob
  - http://auth0.com/oauth/grant-type/mfa-otp
  - http://auth0.com/oauth/grant-type/mfa-recovery-code
  response_types:
  - code
  - token
  - id_token
  - code token
  - code id_token
  - token id_token
  - code token id_token
  response_modes:
  - query
  - fragment
  - form_post
  pkce:
    supported: true
    code_challenge_methods:
    - S256
    - plain
  token_endpoint_auth_methods:
  - client_secret_basic
  - client_secret_post
  - private_key_jwt
  - none
  token_endpoint_auth_signing_algs:
  - RS256
  - RS384
  - PS256
  id_token_signing_algs:
  - HS256
  - RS256
  - PS256
  subject_types:
  - public
  claims:
  - aud
  - auth_time
  - created_at
  - email
  - email_verified
  - exp
  - family_name
  - given_name
  - iat
  - identities
  - iss
  - name
  - nickname
  - phone_number
  - picture
  - sub
  scopes: scopes/firefly-scopes.yml
audiences:
- audience: https://gw.fireflyon.com
  used_by: https://app.fireflyon.com (Firefly advertiser dashboard SPA)
  source: >-
    window.REACT_APP_AUTH0_AUDIENCE in the public SPA runtime config at
    https://app.fireflyon.com/config.js (HTTP 200). The audience hostname
    gw.fireflyon.com does not itself resolve in DNS; the gateway the SPA calls is
    https://app-gw.api.fireflyon.com.
  note: >-
    Access tokens minted for this audience are what the advertiser dashboard presents to
    app-gw.api.fireflyon.com. That gateway answers 404 text/plain "404 page not found"
    to every unauthenticated path probed, so its operation set cannot be read without
    an advertiser account.
gaps:
- id: no-public-auth-documentation
  detail: >-
    Firefly publishes no authentication guide, no key/credential issuance page and no
    developer portal. The only machine-readable auth surface is the Auth0 discovery
    document above, which is platform-generated rather than Firefly-authored prose.
  evidence:
  - url: https://www.fireflyon.com/sitemap.xml
    status: 200
    note: 90 URLs, none developer- or API-facing.
- id: no-protected-resource-metadata
  detail: >-
    No RFC 9728 OAuth protected-resource metadata is served by the gateway, so a client
    cannot discover which authorization server protects app-gw.api.fireflyon.com without
    reading the SPA config.
  evidence:
  - url: https://app-gw.api.fireflyon.com/.well-known/oauth-protected-resource
    status: 404
x-evidence:
  fetched: '2026-08-12'
  probes:
  - url: https://auth.fireflyon.com/.well-known/openid-configuration
    status: 200
  - url: https://auth.fireflyon.com/.well-known/oauth-authorization-server
    status: 200
  - url: https://auth.fireflyon.com/.well-known/zzz-nonexistent-abc
    status: 404
    note: control probe — this host does not answer /.well-known/* with a catch-all.
  - url: https://app-gw.api.fireflyon.com/.well-known/oauth-protected-resource
    status: 404