Isard.ps1
# https://gitlab.com/isard/isardvdi/-/tree/main/api/src/api/schemas # https://gitlab.com/isard/isardvdi/-/blob/main/api/src/api/views/AuthenticationView.py function Connect-Isard { param( [switch] $Web ) if ($Web) { Start-Process "https://pilotfp.gencat.isardvdi.com" exit } #https://get-powershellblog.blogspot.com/2017/09/multipartform-data-support-for-invoke.html $content = [System.Net.Http.MultipartFormDataContent]::new() $stringHeader = [System.Net.Http.Headers.ContentDispositionHeaderValue]::new("form-data") $stringHeader.Name = "username" $StringContent = [System.Net.Http.StringContent]::new("ddemingo@xtec.cat") $StringContent.Headers.ContentDisposition = $stringHeader $content.Add($stringContent) Write-Host $content.ToString() $content = '------WebKitFormBoundaryPXKTCVOXemE3Qd9D Content-Disposition: form-data; name="category_id" db79b78a-5408-4ff9-9853-a1172b7eadb2 ------WebKitFormBoundaryPXKTCVOXemE3Qd9D Content-Disposition: form-data; name="provider" form ------WebKitFormBoundaryPXKTCVOXemE3Qd9D Content-Disposition: form-data; name="username" ddemnigo@xtec.cat ------WebKitFormBoundaryPXKTCVOXemE3Qd9D Content-Disposition: form-data; name="password" fererere ------WebKitFormBoundaryPXKTCVOXemE3Qd9D-' $boundary = [System.Guid]::NewGuid().ToString() $result = Invoke-WebRequest -Method Post -Uri "https://pilotfp.gencat.isardvdi.com/authentication/login?provider=form&category_id=db79b78a-5408-4ff9-9853-a1172b7eadb2" -ContentType "multipart/form-data; boundary=`"$boundary`"" #-Body $content #$params = @{ username = "ddemingo@xtec.cat"; password= "password"} #$login = Invoke-WebRequest -Method Post -Uri "https://pilotfp.gencat.isardvdi.com/authentication/login?provider=form&category_id=db79b78a-5408-4ff9-9853-a1172b7eadb2" -ContentType "multipart/form-data; boundary=`"$boundary`"" -Body $content #Write-Host $login } function New-Isard { $api = Invoke-RestMethod -Uri https://pilotfp.gencat.isardvdi.com/api/v3/user Write-Host $api } |