Brand.ai · Authentication Profile

Brandai Authentication

Authentication

Brand.ai secures its APIs with oauth2 and openIdConnect across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

CompanyBrand ManagementArtificial IntelligenceMarketingSaaSBrand Operating SystemAI AgentsDesignModel Context ProtocolBrand GovernanceBrand Intelligence
Methods: oauth2, openIdConnect Schemes: 3 OAuth flows: authorizationCode API key in:

Security Schemes

OAuth2 oauth2
· flows: authorizationCode
OpenIDConnect openIdConnect
BearerToken http
scheme: bearer

Source

Authentication Profile

brandai-authentication.yml Raw ↑
generated: '2026-08-13'
method: probed
source: https://app.brand.ai/.well-known/oauth-authorization-server
docs: null
note: >-
  Brand.ai publishes no OpenAPI and no developer authentication page, so this profile
  is built from the provider's own live OAuth 2.0 / OpenID Connect discovery documents
  on the application host, plus the observed WWW-Authenticate challenge from the MCP
  endpoint. The identity layer is Clerk (the 401 carries x-clerk-auth-status and
  x-clerk-auth-reason headers, and the app CSP allow-lists clerk.brand.ai).
summary:
  types: [oauth2, openIdConnect]
  api_key_in: []
  oauth2_flows: [authorizationCode]
  bearer: true
  dynamic_client_registration: true
  pkce_required_methods: [S256]
  identity_provider: Clerk
schemes:
- name: OAuth2
  type: oauth2
  sources: [https://app.brand.ai/.well-known/oauth-authorization-server]
  flows:
  - flow: authorizationCode
    authorizationUrl: https://app.brand.ai/api/auth/oauth2/authorize
    tokenUrl: https://app.brand.ai/api/auth/oauth2/token
    scope_count: 13
  token_endpoint_auth_methods: [none, client_secret_basic, client_secret_post]
  grant_types: [authorization_code, refresh_token]
  code_challenge_methods: [S256]
- name: OpenIDConnect
  type: openIdConnect
  sources: [https://app.brand.ai/.well-known/openid-configuration]
  openIdConnectUrl: https://app.brand.ai/.well-known/openid-configuration
  issuer: https://app.brand.ai/api/auth
  userinfo_endpoint: https://app.brand.ai/api/auth/oauth2/userinfo
  end_session_endpoint: https://app.brand.ai/api/auth/oauth2/end-session
  jwks_uri: https://app.brand.ai/api/auth/jwks
  id_token_signing_alg_values_supported: [EdDSA]
  subject_types_supported: [public]
  acr_values_supported: [urn:mace:incommon:iap:bronze]
  prompt_values_supported: [login, consent, create, select_account, none]
  claims_supported: [sub, iss, aud, exp, iat, sid, scope, azp, email, email_verified,
    name, picture, family_name, given_name]
- name: BearerToken
  type: http
  scheme: bearer
  sources: [https://app.brand.ai/api/mcp]
  realm: brand-ai-mcp
  observed_challenge: 'WWW-Authenticate: Bearer realm="brand-ai-mcp"'
endpoints:
  authorization: https://app.brand.ai/api/auth/oauth2/authorize
  token: https://app.brand.ai/api/auth/oauth2/token
  registration: https://app.brand.ai/api/auth/oauth2/register
  introspection: https://app.brand.ai/api/auth/oauth2/introspect
  revocation: https://app.brand.ai/api/auth/oauth2/revoke
  userinfo: https://app.brand.ai/api/auth/oauth2/userinfo
  jwks: https://app.brand.ai/api/auth/jwks
  end_session: https://app.brand.ai/api/auth/oauth2/end-session
posture:
  strengths:
  - Open Dynamic Client Registration (RFC 7591) — an MCP client can self-register
    with no human onboarding step, which is what makes the server agent-reachable.
  - PKCE S256 is the only code challenge method offered.
  - EdDSA (Ed25519) ID token signing, ahead of the RS256 default.
  - Token introspection (RFC 7662) and revocation (RFC 7009) both published.
  - authorization_response_iss_parameter_supported (RFC 9207) — mix-up defence.
  weaknesses:
  - No RFC 9728 protected-resource metadata, and the 401 challenge omits the
    resource_metadata parameter, so the AS is not discoverable from the resource.
  - token_endpoint_auth_methods_supported includes "none" (public clients).
  - No documentation of any of this on a developer-facing page.
x-evidence:
- url: https://app.brand.ai/.well-known/oauth-authorization-server
  http_status: 200
  fetched: '2026-08-13'
- url: https://app.brand.ai/.well-known/openid-configuration
  http_status: 200
  fetched: '2026-08-13'
- url: https://app.brand.ai/api/auth/jwks
  http_status: 200
  fetched: '2026-08-13'
- url: https://app.brand.ai/api/mcp
  http_status: 401
  fetched: '2026-08-13'