Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  5.4 - Inserir e configurar o Service Provider para utilizar sua versão de certificado digital no formato PEM X.509: setSPCert.

          Se não tiver um certificado e chave for formato X.509, crie um certificado auto-assinado usando o OpenSSL. 

          openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem

         Serão criados os arquivos "key.pem" e "certificate.pem", no formato X.509 base 64 ASCII com validade de 365 dias.

         Copie os arquivos .pem para o diretório RootPath do seu ambiente.


Exemplo  de um programa ADVPL ou TLPP para configurar o Service Provider para utilizar o Identity Provider da Shibboleth num site de testes gratuito.

...

Neste site temos dois passos simples:

Botão "Choose File" ou "Escolher Ficheiro", abre uma janela para selecionar o arquivo de configuração do SP ( Selecione o XML de configuração do SP baixado no 1º Passo).
Botão "Upload", faz o upload e faz a federação do IDP com o SP.


9 8 - Configurando sites que podem ser acessados a partir do SAML Importante.

    Para testar o IDP no site de testes https://samltest.id/saml/idp será necessário editar   Edite o arquivo sso\etc\services.conf e inclua os sites desejados, um em cada linha do arquivo.security-policy.xml. Inclua a tag <PolicyRule type="NullSecurity"/> na TAG <Policy id="default" validate="false"> conforme o exemplo abaixo. A mesma não deve ser usada quando estiver usando um provedor IDP em ambiente de produção, pois, ela diminui o nível de segurança. 


Bloco de código
languagecpp
firstline1
linenumberstrue
<SecurityPolicies xmlns="urn:mace:shibboleth:2.0:native:sp:config">

    <!-- Each policy defines a set of rules to use to secure messages. -->

    <!--
    The predefined policy enforces replay/freshness, standard
    condition processing, and permits signing and client TLS.
    -->
    <Policy id="default" validate="false">
        <PolicyRule type="MessageFlow" checkReplay="false" expires="3600"/>
        <PolicyRule type="Conditions">
            <PolicyRule type="Audience"/>
            <!-- Enable Delegation rule to permit delegated access. -->
            <!-- <PolicyRule type="Delegation"/> -->
        </PolicyRule>
        <PolicyRule type="ClientCertAuth" errorFatal="true"/>
        <PolicyRule type="XMLSigning" errorFatal="true"/>
        <PolicyRule type="SimpleSigning" errorFatal="true"/>
        
        <!-- Identified by type="NullSecurity", enables debugging by disabling security and permitting unauthenticated messages to pass successfully into higher layers. -->
        <PolicyRule type="NullSecurity"/>
    </Policy>

    <!--
    This policy is a place-holder for use of assertions in metadata
    as a way of attaching signed information about particular IdPs.
    -->
    <Policy id="entity-attributes">
        <PolicyRule type="Conditions"/>
        <PolicyRule type="XMLSigning" errorFatal="true"/>
    </Policy>
    
    <!-- Disables known weak algorithms. -->
    <AlgorithmBlacklist includeDefaultBlacklist="true"/>

</SecurityPolicies>



8 - Testando o Service Provider

...

Aviso
titleAtenção

Para versões igual ou superior ao Lobo Guará é necessário inserir a pagina "default.htm" no fim da requisição para abertura do smartclient. Caso isso não seja inserido, o server tentará carregar a página default configurada no appserver.ini e isso poderá ocasionar na não abertura do smartclient.


Web:

https://localhost/webex/saml2/get/url?https://www.google.com

ou seja, 

...

  8.1 - Criar um programa para testes.

  Crie e compile um programa para devolver data e hora

Bloco de código
languagecpp
firstline1
linenumberstrue
#INCLUDE 'TOTVS.CH'

user function horaAtual()
return TIME()


Obs. No cenário web, é necessário que a URL do serviço web seja previamente cadastrada (setSAMLSvc) , caso   ou  inclua os sites a serem acessados no arquivo sso\etc\services.conf.

Caso contrário será apresentado o erro "URL not allowed".


  8.2 - Incluir os sites a serem acessados usando a função setSAMLSvc ou editando o arquivo sso\etc\services.conf.

Bloco de código
languagecpp
firstline1
linenumberstrue
http://localhost/webex/u_horaatual.apw
https://localhost/webex/u_horaatual.apw


  8.3 - Para testar o ambiente, inicie o Application Server e acesse a sua URL do serviço SAML a partir do browser.este link: https://localhost/webex/saml2/get/url?http://localhost/webex/u_horaatual.apw


Obs. Se tudo foi configurado corretamente, quando você executar o passo acima, você será redirecionado para a página de login do IDP, após o login, o IDP vai te redirecionar para página do SP e se o processo de validação da resposta SAML ( assertion ) foi concluído com sucesso, o SmartClient Desktop ou a página web será aberta, caso contrário será apresentado um erro na página.

...