Files
AdPlatform-Client/Client-Admin
2026-02-03 15:45:39 -08:00
..
2026-02-03 15:45:39 -08:00
2026-02-03 15:45:39 -08:00
2026-02-03 15:45:39 -08:00
2026-02-03 15:45:39 -08:00
2026-02-03 15:45:39 -08:00
2026-02-03 15:45:39 -08:00
2026-02-03 15:45:39 -08:00
2026-02-03 15:45:39 -08:00

AdPlatform Management Console

React-based admin interface for AdPlatform management.

Project Structure

management-client/
├── src/
│   ├── app/
│   │   └── App.js                    # Main app routing
│   ├── auth/
│   │   ├── authConfig.js             # MSAL + API config
│   │   └── AuthProvider.jsx          # Auth context
│   ├── components/
│   │   ├── admin/
│   │   │   ├── ClientsPanel.jsx      # Client management
│   │   │   ├── UsersPanel.jsx        # User management
│   │   │   └── SessionsPanel.jsx     # Session management
│   │   ├── Shell.jsx                 # Layout wrapper
│   │   ├── SignInOverlay.jsx         # Sign in screen
│   │   ├── RegistrationForm.jsx      # New org setup
│   │   └── Dashboard.jsx             # Main dashboard
│   ├── styles/
│   │   └── app.css
│   └── index.js
├── public/
│   └── index.html
├── package.json
└── webpack.config.js

Features

  • Authentication: Microsoft Entra External ID (MSAL.js)
  • Onboarding: New user registration with organization setup
  • Client Management: Create, list, deactivate clients
  • User Management: Create, list, link to clients, deactivate users
  • Session Management: View active sessions, revoke, cleanup

Setup

npm install
npm start

Opens at http://localhost:3000

Configuration

Edit src/auth/authConfig.js:

export const msalConfig = {
    auth: {
        clientId: 'YOUR_CLIENT_ID',
        authority: 'https://login.microsoftonline.com/YOUR_TENANT_ID',
    }
};

export const API_BASE_URL = 'https://your-management-api.com';
export const GATEWAY_API_URL = 'https://your-gateway-api.com';

User Flow

  1. User signs in with Microsoft → JWT obtained
  2. App checks /api/onboarding/status
  3. If not registered → Registration form shown
  4. After registration → Session created via Gateway
  5. Dashboard displayed with admin tabs