Private/Authentication/Get-SecretsHubToken.ps1
<# .SYNOPSIS Gets authentication token for Secrets Hub. .DESCRIPTION Retrieves bearer token using IdentityCommand module or provided credentials. #> function Get-SecretsHubToken { [CmdletBinding()] param( [Parameter()] [PSCredential]$Credential ) process { try { # Try to use IdentityCommand session first if (-not $Credential -and (Get-Module -Name IdentityCommand)) { try { $IdentitySession = Get-IdentitySession -ErrorAction SilentlyContinue if ($IdentitySession -and $IdentitySession.Token) { Write-Verbose "Using existing IdentityCommand session" return $IdentitySession.Token } } catch { Write-Verbose "Could not retrieve IdentityCommand session: $($_.Exception.Message)" } } # If no IdentityCommand session, require credential if (-not $Credential) { throw "No active IdentityCommand session found. Please provide credentials or establish IdentityCommand session." } # Use provided credentials (implement based on your auth requirements) Write-Verbose "Using provided credentials for authentication" # This would integrate with your specific authentication mechanism throw "Direct credential authentication not yet implemented. Please use IdentityCommand module." } catch { throw "Failed to get authentication token: $($_.Exception.Message)" } } } |