A beautiful, modern Chrome extension for managing Azure Privileged Identity Management (PIM) roles with an intuitive glassmorphism interface and multi-theme support.
- 6 Beautiful Themes: Ocean Blue, Forest Green, Sunset Orange, Deep Purple, Midnight Dark, Rose Gold
- Advanced Visual Effects: Backdrop blur, transparency, and smooth gradients
- Micro-Interactions: Ripple effects, hover animations, and smooth transitions
- Responsive Design: Optimized for all screen sizes with modern aesthetics
- Theme Selector: Visual preview dropdown with instant theme switching
- Progress Indicators: Real-time loading progress with smooth animations
- Smart Notifications: Enhanced toast system with auto-dismiss and manual close
- Keyboard Navigation: Tab switching (1-4 keys) and theme cycling (Ctrl+T)
- Accessibility: High contrast support and screen reader compatibility
- Role Management: Activate, extend, and monitor privileged roles
- Bulk Operations: Activate or extend multiple roles simultaneously
- Expiration Monitoring: Real-time role expiration tracking with alerts
- Justification Support: Automatic justification handling based on PIM policies
- Multi-Tenant: Support for multiple Azure tenants with automatic detection
- Multi-Language Support: English and French with easy extensibility
- Persistent Preferences: Language and theme choices saved automatically
- Localized Messages: All UI text properly localized with placeholder support
- Download the extension files
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode"
- Click "Load unpacked" and select the extension folder
- Pin the extension to your toolbar
- Authentication: Click the refresh button to sign in with your Azure account
- Theme Selection: Click the theme icon to choose your preferred visual style
- Language: Toggle between English and French using the language button
- Notifications: Enable role expiration warnings in the notification panel
Theme | Description | Best For |
---|---|---|
๐ Ocean Blue | Professional blue gradients | Corporate environments |
๐ฒ Forest Green | Nature-inspired green tones | Eco-friendly workspaces |
๐ Sunset Orange | Warm orange gradients | Creative workflows |
๐ฎ Deep Purple | Rich purple tones | Modern interfaces |
๐ Midnight Dark | Dark mode with blue accents | Low-light environments |
๐น Rose Gold | Light theme with warm tones | Elegant presentations |
- ๐ Eligible: Roles available for activation with duration and justification info
- โ Active: Currently active roles with expiration timers and extend options
- โฐ Expiring: Roles expiring within 30 minutes with urgent actions
- โ๏ธ Settings: Authentication, notifications, and application preferences
- Auto-Refresh: Automatic role data updates with background sync
- Progress Tracking: Visual progress bars during role operations
- Error Recovery: Intelligent retry logic with user-friendly error messages
- Performance Metrics: Real-time loading and rendering performance data
pim-manager/
โโโ manifest.json # Extension configuration
โโโ popup.html # Modern UI structure
โโโ popup.css # Glassmorphism styles & themes
โโโ popup.js # Enhanced frontend logic
โโโ background.js # Service worker & PIM API
โโโ icons/ # Extension icons
โโโ _locales/ # Language files
- Glassmorphism CSS: Advanced backdrop-filter effects
- Chrome Extensions API: Identity, storage, and notifications
- Microsoft Graph API: Azure PIM role management
- Modern JavaScript: ES2022+ with async/await patterns
- Multi-Tenant OAuth: Secure authentication flow
- Chrome 88+ (for backdrop-filter support)
- Node.js 16+ (for development tools)
- Azure tenant with PIM configured
- Valid Azure application registration
# Clone the repository
git clone https://github.com/your-repo/pim-manager.git
cd pim-manager
# Install development dependencies (optional)
npm install
# Load extension in Chrome
# 1. Open chrome://extensions/
# 2. Enable Developer mode
# 3. Click "Load unpacked"
# 4. Select the project directory
Update the CLIENT_ID
in background.js
with your Azure application ID:
const CONFIG = {
CLIENT_ID: 'your-azure-app-id-here',
// ... other config
};
Themes are defined in CSS custom properties. To add a new theme:
:root[data-theme="mytheme"] {
--bg-primary: linear-gradient(135deg, #color1 0%, #color2 100%);
--accent-primary: linear-gradient(135deg, #accent1 0%, #accent2 100%);
/* ... other theme variables */
}
- Identity: Azure authentication flow
- Storage: Theme and language preferences
- Notifications: Role expiration alerts
- Active Tab: Integration with Azure portal (optional)
- Token Management: Secure storage with automatic refresh
- Multi-Tenant Support: Isolated tenant contexts
- Minimal Permissions: Only required scopes requested
- Secure Communication: HTTPS-only API calls
- Document Fragments: Efficient DOM manipulation
- Lazy Loading: On-demand resource loading
- Caching: Intelligent role definition caching
- Debounced Updates: Optimized refresh intervals
- Load Time: < 500ms average role loading
- Rendering: < 100ms for UI updates
- Memory Usage: < 50MB typical consumption
- Battery Impact: Minimal background processing
- Ensure Chrome version 88+
- Check developer mode is enabled
- Verify all files are present
- Review console for errors
- Verify Azure app registration
- Check redirect URI configuration
- Ensure proper scopes are configured
- Clear browser cache and retry
- Disable other extensions that modify CSS
- Check browser support for backdrop-filter
- Try switching themes to isolate issues
- Disable other extensions temporarily
- Check available system memory
- Clear extension storage data
- Restart Chrome browser
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Submit a pull request
- Await code review
- Use ES2022+ features
- Follow established patterns
- Add JSDoc comments
- Maintain accessibility standards
This project is licensed under the MIT License - see the LICENSE file for details.
- Microsoft Graph Team - For the excellent PIM APIs
- Chrome Extensions Team - For the robust platform
- Design Community - For glassmorphism inspiration
- Contributors - For making this project possible
Made with โค๏ธ by Layth CHEBBI
Transforming Azure PIM management with modern design and intuitive workflows.