如何使用saml数据登录

2024-05-16 06:38:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在尝试将oneLogin saml逻辑移植到Python,我能够成功地从第一部分得到$saml结果。但是,对于登录到我的应用程序的部分,得到了500个错误代码。有人能指出正确的路径来使用powershell的Python请求包重写登录到app部分吗?谢谢。在

function session () {
    $oneloginUrl = "https://api.onelogin.com/api/v3/saml/assertion"
    #get saml assertion
    $request = @{
        api_key='abc'
        username='abc@abc.com' 
        password='abc'
        app_id='123'
    }
    $json = $request | ConvertTo-Json

    $response = Invoke-RestMethod $oneloginUrl -Method Post -Body $json -ContentType 'application/json'
    $saml = $response.data

    #login to myapp
    $myappUrl = "https://myapp.com/sso/response"
    $form = New-Object Microsoft.PowerShell.Commands.FormObject -ArgumentList "test","post","submit"
    $form.Fields.add("RelayState","/" )
    $form.Fields.add("SAMLResponse", $saml)
    $r=Invoke-WebRequest $myappUrl -SessionVariable myapp -Body $form.fields -Method post
    return $myapp        
}

Tags: httpsformcomapijsonappresponserequest