Skip to main content

Launchpad Overview

The Launchpad is a user-facing application portal where users can discover and access all S-Auth applications with single sign-on.

Features

  • Application Discovery - See all available applications in one place
  • Single Sign-On - Launch apps without re-entering credentials
  • Silent Authentication - Skip consent for previously authorized apps
  • Public Apps - Access company-wide applications
  • Personal Apps - See apps you've previously authorized

Access

The Launchpad is available at:

How It Works

┌────────────────────────────────────────────────────────────────┐
│ Launchpad │
├────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 📊 │ │ 📧 │ │ 📁 │ │ 🎮 │ │
│ │Dashboard│ │ Email │ │ Files │ │ Games │ │
│ │ │ │ │ │ │ │ │ │
│ │ Public │ │ Public │ │Authorized│ │Authorized│ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ Click any app to launch with SSO │
│ │
└────────────────────────────────────────────────────────────────┘

Application Types

Public Applications

  • Visible to all logged-in users
  • Marked with "Public" badge
  • Set by admin in application settings

Authorized Applications

  • Apps you've previously consented to
  • Marked with "Authorized" badge
  • Launches with silent authentication (no consent screen)

Single Sign-On Flow

When you click an application:

  1. First Time:

    • Redirect to S-Auth
    • Show consent screen
    • Grant permissions
    • Redirect to app
  2. After Authorization:

    • Redirect to S-Auth
    • Skip consent (silent auth)
    • Immediately redirect to app

Authentication

Users must log in to Launchpad to see applications:

  1. Visit the Launchpad URL
  2. Click "Login" or get redirected automatically
  3. Enter S-Auth credentials
  4. View available applications

Technical Details

The Launchpad is built with:

  • Next.js 14 with App Router
  • NextAuth.js for OAuth authentication
  • Tailwind CSS for styling
  • S-Auth API for application data

Configuration

Environment variables required:

# OAuth Provider connection
NEXT_PUBLIC_OAUTH_PROVIDER_URL=https://auth.sebbyk.net
OAUTH_CLIENT_ID=launchpad
OAUTH_CLIENT_SECRET=your-client-secret
OAUTH_REDIRECT_URI=https://launchpad.sebbyk.net/callback

# NextAuth configuration
NEXTAUTH_SECRET=your-nextauth-secret
NEXTAUTH_URL=https://launchpad.sebbyk.net

API Endpoint

The Launchpad fetches application data from:

GET /api/user/applications
Authorization: Bearer <access_token>

Returns:

[
{
"client_id": "my-app",
"name": "My Application",
"description": "A useful app",
"logo_emoji": "📊",
"is_public": true,
"is_authorized": true,
"redirect_uri": "https://myapp.com/callback"
}
]