Skip to content

feat(auth): Auth0 frontend sign-in (custom ApiRef + provider registration)#121

Merged
quiiver merged 2 commits into
mainfrom
feat/auth0-frontend-signin
Jun 25, 2026
Merged

feat(auth): Auth0 frontend sign-in (custom ApiRef + provider registration)#121
quiiver merged 2 commits into
mainfrom
feat/auth0-frontend-signin

Conversation

@quiiver

@quiiver quiiver commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

Enables Auth0 SSO end-to-end (frontend + backend wiring). Resolves SSO users against the people-namespace User entities from #120.

Changes

Backend

  • Add + register @backstage/plugin-auth-backend-module-auth0-provider (provider id auth0) in packages/backend/src/index.ts (+ package.json/yarn.lock).

Frontend (new frontend system)

  • packages/app/src/apis.ts — define a custom auth0AuthApiRef (there's no built-in one in @backstage/core-plugin-api) and an auth0Auth ApiBlueprint backed by OAuth2 (@backstage/core-app-api), provider.id: 'auth0', scopes openid email profile.
  • packages/app/src/overrides/app.tsx — import the ref/blueprint from ../apis (was mistakenly imported from @backstage/core-plugin-api) and register auth0Auth on the app module. SignInPage shows guest in dev, the Auth0 button otherwise.

Out of scope (deployment config)

auth.providers.auth0.<env> (clientId/secret/domain) + signIn.resolvers: [emailMatchingUserEntityProfileEmail] — matches the Auth0 email claim to the people users' spec.profile.email (@mozilla.com). Added in deployment-specific config.

Testing

tsc -p tsconfig.json exit 0, app package lint clean, prettier clean.

quiiver added 2 commits June 25, 2026 13:57
Auth0 has no built-in auth0AuthApiRef; define one in apis.ts backed by
OAuth2 (provider id 'auth0' matches the auth-backend-module-auth0-provider),
register the ApiBlueprint on the app module, and import the ref from ../apis
(it was mistakenly imported from @backstage/core-plugin-api). SignInPage
already wired to it.
@quiiver quiiver merged commit d642da5 into main Jun 25, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant