Função que recebe um buffer xml e o nome de um arquivo onde será salvo este buffer, após fazer o parse do buffer, extrai o entityID do buffer e salva o buffer em um arquivo com o nome recebido.
Após salvar o buffer xml, atualiza o arquivo de configuração do SAML, altera o entityID do IDP com o entityID extraido do buffer, altera o nome do arquivo de configuração do IDP para o nome recebido e altera a URL do arquivo de configuração para http://withoutrealurl.saml ( URL inexistente ).
saveIDPXML ( <xmlBuffer>, <filename>, [@errorMsg] ) --> flag
Nome | Tipo | Descrição | Obrigatório | Referência |
xmlBuffer | Caracter | Buffer contendo o xml de configuração do Identity Provider ( IDP ). | X | |
filename | Caracter | Nome do arquivo de configuração onde será salvo o buffer XML. | X | |
errorMsg | Caracter | Em caso de erro, esta variável será preenchida com a descrição do erro. | X |
flag (Lógico)
- Retorna verdadeiro (.T.) em caso de sucesso; caso contrário, falso (.F.).
A URL do IDP é utilizada para recuperar o arquivo de configuração do IDP automaticamente, utilizando a função saveIDPXML fazemos exatamente o contrário, ou seja, o arquivo de configuração do IDP é criado a partir de um comando ADVPL.
Para o SP recuperar o arquivo de configuração do IDP automaticamente, acesse setIDPConf.
local error local ret := saveIDPXML('<?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor '; + 'xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="TotvsLab" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> '; + '<md:IDPSSODescriptor '; + 'protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> '; + '<md:KeyDescriptor use="signing"> '; + '<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> '; + '<ds:X509Data> '; + '<ds:X509Certificate>MIICAjCCAWsCBgE6nmD6GDANBgkqhkiG9w0BAQsFADBHMSUwIwYDVQQLExxUb3R2c0xhYiBQcmltYXJ5IENlcnRpZmljYXRlMREwDwYDVQQKEwhUb3R2c0xhYjELMAkGA1UEBhMCVVMwHhcNMTIxMDI2MTg0MTI2WhcNMTIxMDI3MDgzNTUxWjBHMSUwIwYDVQQLExxUb3R2c0xhYiBQcmltYXJ5IENlcnRpZmljYXRlMREwDwYDVQQKEwhUb3R2c0xhYjELMAkGA1UEBhMCVVMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJUpGeXViQZI4QoXXDt5GHdgkuQbrdTAgcdo7pgY7e+WTU8Xdl+MvxTAONtTCE13xy5Z6ydGUFxoSzW3/mlX4ABAr6Lgd5w1vjuhSqPfjDrV8ahgUPHJOmQ6k+jjbS9OVpfHt4HYq8Q8wj2u/HkgIsZ/SgL4iBtsxX6rPP64v5NpAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAjdxe/+HuqYnYUAUt5TuOrGkiQD91npToPcFHZtQiCyiwLrkrKXkZNiM0NXGAX2AIdSMkmqFI/jxeTPOT7g4vWBMYBzJnxhTKS8sx+62Ml2gQBP1LXnTWRUNmwBQHQkBqfw8p7qUpJ9qmhEhK4jJpOrJQU3kSJxwpihneeDUfcbw=</ds:X509Certificate> '; + '</ds:X509Data> </ds:KeyInfo> </md:KeyDescriptor> '; + '<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" '; + 'Location="http://50.0.250.71:8080/saml/SSO/POST"/> '; + '</md:IDPSSODescriptor> </md:EntityDescriptor>', "cloudpass.xml", @error) if ret == .F. return alert("saveIDPXML: " + error) endif
Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas