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
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