albertonline.org docs
Apps

tv-login

Telia Play sign-in portal — BankID CIAM authentication, engagement selection, device login, forgot-password/username flows.

Overview

tv-login is the Telia Play sign-in portal. It handles BankID CIAM authentication, engagement/account selection, device-pairing login, and self-service flows (forgot password, forgot username, update password, get-started onboarding).

Built on Next.js 16 (App Router, Turbopack) and deployed via Openship at https://tv-login.albertonline.org.

Stack

  • Next.js 16 (App Router, Turbopack) + React 19
  • Effect v4 services from @repo/telia-core (auth, log, statistics)
  • @repo/telia-graphql client for engagement/account queries
  • Tailwind CSS + @repo/design-system components
  • Better Auth device-authorization flow

Develop

pnpm -F tv-login dev      # http://localhost:3007 (Turbopack)
pnpm -F tv-login build
pnpm -F tv-login test
pnpm -F tv-login check-types

Routes

  • /authorize — BankID login entry point
  • /ciamdone — CIAM callback: token exchange + engagement selection
  • /ciamdone/device — device-specific CIAM callback
  • /ciamdone/no-engagement — no active subscription fallback
  • /getlogin-done/device — getLogin device flow
  • /link/user-code/[userCode] — user-code redirect for device pairing
  • /forgot-password — password reset
  • /forgot-username — username recovery
  • /update-password — password update
  • /get-started — onboarding entry
  • /done — success page

Deploy

Deployed via Openship (Docker container behind Caddy). Project ID: proj_J5-qBVlscSKiv8kC. The Dockerfile builds a Next.js standalone image with @repo/telia-core Effect v4 services wired into the runtime.

See the root README for monorepo-wide commands.

On this page