73 lines
2.0 KiB
Markdown
73 lines
2.0 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
npm install
|
|
npm start
|
|
```
|
|
|
|
Opens at http://localhost:3000
|
|
|
|
## Configuration
|
|
|
|
Edit `src/auth/authConfig.js`:
|
|
|
|
```javascript
|
|
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
|