Árvore de páginas


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 ).

Sintaxe

saveIDPXML ( <xmlBuffer>, <filename>, [@errorMsg] ) --> flag

 

NomeTipoDescriçãoObrigatórioReferência
xmlBufferCaracterBuffer contendo o xml de configuração do Identity Provider ( IDP ).X 
filenameCaracterNome do arquivo de configuração onde será salvo o buffer XML.X 
errorMsgCaracterEm caso de erro, esta variável será preenchida com a descrição do erro. X

 

Retorno

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

 

  • Sem rótulos