M365CertAuth.psd1

@{
    # Module manifest for M365CertAuth
    RootModule = 'M365CertAuth.psm1'
    ModuleVersion = '1.0.2'
    GUID = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
    Author = 'PowerShell Community'
    CompanyName = 'Open Source'
    Copyright = '(c) 2025 PowerShell Community. All rights reserved.'
    Description = 'Certificate-based authentication module for Microsoft 365 PowerShell modules. Automates certificate creation, app registration, permission assignment, and provides ready-to-use certificates for all M365 services.'
    PowerShellVersion = '5.1'
    
    # Required modules
    RequiredModules = @(
        'Microsoft.Graph.Authentication',
        'Microsoft.Graph.Applications', 
        'Microsoft.Graph.Identity.DirectoryManagement'
    )
    
    # Functions to export
    FunctionsToExport = @('Get-CertificateForAuth', 'Show-CertificateAuthHelp')
    
    # Cmdlets to export
    CmdletsToExport = @()
    
    # Variables to export
    VariablesToExport = @()
    
    # Aliases to export
    AliasesToExport = @()
    
    # Private data
    PrivateData = @{
        PSData = @{
            Tags = @('Microsoft365', 'Azure', 'Certificate', 'Authentication', 'Exchange', 'SharePoint', 'Graph', 'PowerShell')
            LicenseUri = ''
            ProjectUri = ''
            IconUri = ''
            ReleaseNotes = @'
Version 1.0.2
- Improved role assignment approach to match leaver.ps1 pattern
- Added service principal propagation delay for better reliability
- Made Global Administrator role assignment optional with graceful failure handling
- Enhanced error handling to use warnings instead of hard failures
 
Version 1.0.1
- Fixed Exchange Online App-Only authentication by adding Exchange Administrator role assignment
- Enhanced role validation for existing app registrations
- Improved error handling for directory role assignments
 
Version 1.0.0
- Initial release
- Automated certificate creation and management
- App registration with comprehensive permissions
- Support for Exchange Online, SharePoint, Microsoft Graph, Teams, Azure, and Security & Compliance
- Enterprise-grade certificate validation and duplicate detection
- Automatic expired certificate cleanup
- Built-in help system with connection examples
'@

            Prerelease = ''
            RequireLicenseAcceptance = $false
            ExternalModuleDependencies = @('Microsoft.Graph.Authentication', 'Microsoft.Graph.Applications', 'Microsoft.Graph.Identity.DirectoryManagement')
        }
    }
    
    # Help info
    HelpInfoURI = ''
    
    # Default prefix for commands
    DefaultCommandPrefix = ''
}