Pagetitle |
---|
| HttpCachesaveIDPXMLHttpCache |
---|
| saveIDPXML |
---|
|
Função : HttpCacheRedefine a etiqueta Cache Control, do cabeçalho de resposta da requisição HTTP - HyperText Transfer Protocol (Protocolo de Transferência de Hipertexto), sobrepondo à definição padrão de retorno que é definida na configuração do Host HTTP, no arquivo de configuração, do servidor de aplicação (Application Server). 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] ) --> flagHttpCache ( < cCacheControl> ) --> cLastCache Nome | Tipo | Descrição | Obrigatório | Referência | cCacheControlxmlBuffer | CaracterIndica | o novo conteúdo da etiqueta da header de retorno HTTP cache controlBuffer 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 | |
Retorno cLastCache(caracter)- Retorna a definição utilizada para a etiqueta cache control do cabeçalho HTTP; caso contrário, retorna uma string em branco. Para mais detalhes da definição, consulte a tabela Definição Cache Control, na área Observações.
Caracter | Em 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. Bloco de código |
---|
language | cpp |
---|
firstline | 1 |
---|
linenumbers | true |
---|
| 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=" |
Tabela - Definição Cache ControlConteúdo | Aplicação |
---|
no-store | Nenhuma informação deve ser guardada em cache pelo servidor e/ou proxy(ies). |
Somente será possível definir um novo contéudo para o Cache Control, do header HTTP, caso a função HTTPCache() seja executada antes de qualquer envio, pela função HTTPSend(), parcial de HTML - Hypertext Markup Language ao browser.Recomendamos a utilização desta função para quando estiver trabalhando com diversos frames. Desta forma, não ocorrerá o armazenamento de formulários e/ou páginas no servidor ou proxy. Exemplo de campos cache-response-directive = "public" ; Section 14.9.1 | "private" [ "=" <"> 1#field-name <"> ] ; Section 14.9.1 | "no-cache" [ "=" <"> 1#field-name <"> ]; Section 14.9.1 | "no-store" ; Section 14.9.2 | "no-transform" ; Section 14.9.5 | "must-revalidate" ; Section 14.9.4 | "proxy-revalidate" ; Section 14.9.4 | "max-age" "=" delta-seconds ; Section 14.9.3 | "s-maxage" "=" delta-seconds ; Section 14.9.3 | cache-extension ; Section 14.9.6
Para mais informações, consulte a referência para Cache-Control no site w3: Protocolsrfc2616/rfc2616-sec14.html.Static Function CacheOption()HttpCache("no-store, no-cache, must-revalidate,post-check=0, pre-check=0, max-age=0")Return____________________________________// Função chamada pelo browser ...WEB function anyCall() Local cHtml := "" // Função deve ser chamada sempre antes do retorno CacheOption() cHtml := "Retornando ... Sem Cache no Servidor / Proxy"Return cHtml 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 |
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server |