Versões comparadas

Chave

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

Índice


      

Índice
exclude.*ndice:

Objetivo


       Este documento demonstra como integrar o sistema RM com o AD FS como provedor de Identidade.

Introdução


            O AD FS,    O ADFS (Active Diretory Federation Services, ) permite o compartilhamento da informação de identidade em um ampla variedade de aplicativos utilizando o padrão SAML que é suportado na linha RM.

HTML<link rel="stylesheet" href="/download/attachments/419548451/TotvsApiDoc.css?version=18&modificationDate=1545415351680&api=v2"> <script src="/download/attachments/419548451/TotvsApiDoc.min.js?version=1&modificationDate=1545939893691&api=v2"></script> <script src="/download/attachments/419548451/TotvsApiDocCustom_Auto.js?version=51&modificationDate=1546542702197&api=v2"></script> <script src="/download/attachments/486180568/Totvs_CheckListCompare.js?version=8&modificationDate=1558712398565&api=v2"></script> <style> .checklistManual { -moz-box-shadow:inset 0px 1px 0px 0px #cf866c; -webkit-box-shadow:inset 0px 1px 0px 0px #cf866c; box-shadow:inset 0px 1px 0px 0px #cf866c; background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #d0451b), color-stop(1, #bc3315)); background:-moz-linear-gradient(top, #d0451b 5%, #bc3315 100%); background:-webkit-linear-gradient(top, #d0451b 5%, #bc3315 100%); background:-o-linear-gradient(top, #d0451b 5%, #bc3315 100%); background:-ms-linear-gradient(top, #d0451b 5%, #bc3315 100%); background:linear-gradient(to bottom, #d0451b 5%, #bc3315 100%); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d0451b', endColorstr='#bc3315',GradientType=0); background-color:#d0451b; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; border:1px solid #942911; display:inline-block; cursor:pointer; color:#ffffff; font-family:Arial; font-size:13px; padding:6px 24px; text-decoration:none; text-shadow:0px 1px 0px #854629; } .checklistAutomatizado { -moz-box-shadow:inset 0px 1px 0px 0px #54a3f7; -webkit-box-shadow:inset 0px 1px 0px 0px #54a3f7; box-shadow:inset 0px 1px 0px 0px #54a3f7; background:-webkit-gradient(linear, left top, left bottom, color-stop(0

.

05, #007dc1), color-stop(1, #0061a7)); background:-moz-linear-gradient(top, #007dc1 5%, #0061a7 100%); background:-webkit-linear-gradient(top, #007dc1 5%, #0061a7 100%); background:-o-linear-gradient(top, #007dc1 5%, #0061a7 100%); background:-ms-linear-gradient(top, #007dc1 5%, #0061a7 100%); background:linear-gradient(to bottom, #007dc1 5%, #0061a7 100%); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7',GradientType=0); background-color:#007dc1; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; border:1px solid #124d77; display:inline-block; cursor:pointer; color:#ffffff; font-family:Arial; font-size:13px; padding:6px 24px; text-decoration:none; text-shadow:0px 1px 0px #154682; } </style> <script> $(window).load(function(){ Totvs_CheckListCompare_Load(); }); </script> <div id="container1" class="TotvsApiDoc-wrapper" style="position: relative;"> </div>

HTML
<div id="containerRelyingTrusts" class="TotvsApiDoc_Tab" data-tabid="a_RelyingTrusts" data-titulo="Configurando o Aplicativo Confiável" data-current="current" style="display:none">

Configurando o Aplicativo Confiável no AD FSADFS


        Abaixo  Abaixo são demonstrados os passos para a criação da entidade confiável para a Linha RM dentro do AD FS.

Passo 1

ADFS.

Informações
iconfalse
Deck of Cards
idConfigurando o Aplicativo Confiável no ADFS
Card
label1º Passo:

Ao acessar a configuração do AD FS, selecione "Add Relying Party Trust" para acesso ao assistente de configuração.

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 1 - Bem vindo!
</div>
</div>

Passo 2

Image Added

Card
label2º Passo:

Selecione a opção "Enter data about the relying party manually" para inserir os dados sobre a Linha RM.

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 2 - Selecionar Fonte de Dados
</div>
</div>

Image Added

Acione o botão "Next".

Card
labelPasso
3
:

Informe um nome para identificar o aplicativo.

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 3 - Identificação do Aplicativo
</div>
</div>
Passo 4

Image Added

Card
label4º Passo:

Selecione a opção: "AD FS profile".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 4 - Escolher Perfil do ADFS
</div>
</div>

Passo 5

Image Added

Card
label5º Passo:

Neste ponto, acione "Next"

HTML
<div class="img-zoom-container"> <div class="img-div">

.

Image Modified

HTML
</div>
<div class="img-div-description">
Passo 5 - Configurar Certificado 
</div>
</div>
Passo 6
Card
label6º Passo:

Neste passo, deve-se informar a URL do serviço responsável por processar o SingleSignOn do RM:
https://<Endereço do Host>/RMCloudPass/SSOSaml2

O AD FS exige que este serviço esteja exposto via SSL. Mais detalhes sobre como configurar o RM Host para expor serviços via SSL em: Habilitar SSL/TLS no Host

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 6 - Configurar URL 
</div>
</div>

Passo 7

Image Added

Card
label7º Passo:

Selecione a opção: "I do not want to configure multifactor

.

".

."

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 7 - Configurar Autenticação multifator
</div>
</div>

Passo 8

Image Added

Card
label8º Passo:

Escolha a opção "Permit all users to access thie relying party".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 8 - Configurar Autenticação multifator
</div>
</div>
Passo 9

Image Added

Card
label9º Passo:

Neste ponto, acione "Next".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 9 - Tudo pronto para adicionar o Aplicativo Confiável
</div>
</div>
Passo 10

Image Added

Card
label10º Passo:

Selecione a caixa de seleção para abrir a edição de regras

.

Image Added

Configurando as Regras de Declaração (RM Portal)


Informações
iconfalse
Deck of Cards
idConfigurando o Aplicativo Confiável no ADFS
Card
label1º Passo:
HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 10 - Finalização do processo de Adicionar Aplicativo Confiável
</div>
</div>
HTML
</div>
HTML
<div id="containerConfigurandoRegras" class="TotvsApiDoc_Tab" data-tabid="a_ConfigurandoRegras" data-titulo="Configurando as Regras de Declaração" data-current="" style="display:none">
HTML
</div>
HTML
<div id="containerRegrasPortal" class="TotvsApiDoc_SubTab" data-tabid="a_ConfigurandoRegrasPortal" data-titulo="Configurando o RM Portal" data-current="" data-parent="a_ConfigurandoRegras" style="display:none">

Configurando as Regras de Declaração (RM Portal)

Passo 1

Selecione a opção: "Add rule".

.."

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 1 -  Adicionar Regras
</div>
</div>
Passo 2

Image Added

Card
label2º Passo:

Selecione a opção: "Send LDAP Attributes as Claims".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 2 -  Adicionando regra do tipo "Send LDAP Attributes as Claims"
</div>
</div>

Passo 3

Image Added

Card
label3º Passo:

Defina um nome para a regra e selecione o mapeamento conforme a imagem abaixo. O mapeamento para o SSO no RM é feito pelo e-mail do usuário.

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 3 - Mapeamento de Propriedades => [User-Principal_Name (AD)] X [Endereço de E-mail]
</div>
</div>

Passo 4

Image Added

Card
label4º Passo:

Selecione a opção: "Add rule

.

".

."

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 4 -  Adicionar Regras
</div>
</div>

Passo 5

Image Added

Card
label5º Passo:

Selecione a opção: "Tranform an Incoming Claim".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 5 -  Adicionando regra do tipo "Trasform an Incoming Claim"
</div>
</div>

Passo 6

Image Added

Card
label6º Passo:

Defina um nome para a regra e selecione os parâmetros conforme a imagem abaixo.

Image Added

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 6 -  Mapeamento de Propriedades: [UPN] => [NameId | Format:Email] 
</div>
</div>
HTML
</div>
Card
label7º Passo:

Para o Portal CorporeRM não é necessário configurar o RelaySate.

Mas, para usar o portal FrameHTML, é necessário configurá-lo, de acordo com a regra abaixo, no seguinte formato:

state|loginPage|returnUrl
Ex: webapi|http://localhost:8090/RM/Login/Login.aspx|/web/app/RH/PortalMeuRH/

obs1: state para FrameHTML deve ser exclusivamente webapi.
obs2: até a versão 12.1.29 continua necessário mandar o ExecutablePath na requisição Saml.

HTML
<div id="containerRegrasRMexe" class="TotvsApiDoc_SubTab" data-tabid="a_ConfigurandoRegrasRMexe" data-titulo="Configurando a MDI (RM.exe)" data-current="" data-parent="a_ConfigurandoRegras" style="display:none">

Configurando as Regras de Declaração (MDI - RM.exe)

Passo 1
Informações
iconfalse
Deck of Cards
idConfigurando o Aplicativo Confiável no ADFS
Card
label1º Passo:

Selecione a opção: "Add rule

..

".

"

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 1 - Adicionar Regras
</div>
</div>
Passo 2

Image Added

Card
label2º Passo:

Selecione a opção: "Send LDAP Attributes as Claims".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 2 -  Adicionando regra do tipo "Send LDAP Attributes as Claims"
</div>
</div>
Passo 3

Image Added

Card
label3º Passo:

Defina um nome para a regra e selecione o mapeamento conforme a imagem abaixo. O mapeamento para o SSO no RM é feito pelo e-mail do usuário.

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 3 -  Mapeamento de Propriedades [E-Mail-Addresses (AD)] x [E-Mail Address]
</div>
</div>

Passo 4

Image Added

Card
label4º Passo:

Selecione a opção: "Add rule

.

".

."html

<div class="img-zoom-container">
<div class="img-div">

Image Modified

HTML
</div>
<div class="img-div-description">
Passo 4 - Adicionar Regras
</div>
</div>
Passo 5
Card
label5º Passo:

Selecione a opção: "Tranform an Incoming Claim"

.

Image Added

Card
label6º Passo:
HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 5 -  Adicionando regra do tipo "Trasform an Incoming Claim"
</div>
</div>
Passo 6

Defina um nome para a regra e selecione os parâmetros conforme a imagem abaixo.

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 6 -  Mapeamento de Propriedades: [E-Mail Address] => [NameId | Format:Email] 
</div>
</div>
Passo 7

Image Added

Card
label7º Passo:

Selecione a opção: "Add rule

..

".

"

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 7 - Adicionar Regras
</div>
</div>

Passo 8

Image Added

Card
label8º Passo:

Selecione a opção "Send Claims Using a Custom Rule".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed 

HTML
</div>
<div class="img-div-description">
Passo 8 -  Adicionando regra do tipo "Send Claims Using a Custom Rule"
</div>
</div>

Passo 9

Image Added

Card
label9º Passo:

Defina um nome para a regra e escreva a regra de declaração customizada conforme a imagem abaixo:

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 9 -  Regra de declaração customizada para a propriedade [RelayState]
</div>
</div>

Image Added

Bloco de código
languagec#
titleRelayState
linenumberstrue
=> issue(Type = "RelayState", Value = "samlexecutable");
Card
label10º Passo
10
:

Selecione a opção: "Add rule".

.."

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 10 - Adicionar Regras
</div>
</div>

Passo 11

Image Added

Card
label11º Passo:

Selecione a opção "Send Claims Using a Custom Rule".

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed 

HTML
</div>
<div class="img-div-description">
Passo 11 -  Adicionando regra do tipo "Send Claims Using a Custom Rule"
</div>
</div>
Passo 12

Image Added

Card
label12º Passo:

Defina um nome para a regra e escreva a regra de declaração customizada conforme a imagem abaixo:

HTML
<div class="img-zoom-container">
<div class="img-div">

Image Removed

HTML
</div>
<div class="img-div-description">
Passo 12 -  Regra de declaração customizada para a propriedade [ExecutablePath]
</div>
</div>

Image Added

Bloco de código
languagec#
titleRelayState
linenumberstrue
=> issue(Type = "ExecutablePath", Value = "C:\totvs\CorporeRM\RM.Net\RM.exe");
HTML
</div>
HTML
<div id="containerMetadataADFS" class="TotvsApiDoc_Tab" data-tabid="a_MetadataADFS" data-titulo="Integração SAML no RM" data-current="" style="display:none">

Integração SAML no RM


  • Metadado do ADFS

          Abaixo temos um exemplo do metadados SAML que deve ser importado no RM:

Bloco de código
languagexml
firstline1
titleMetadata
linenumberstrue
<?xml version="1.0" encoding="UTF-8"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://<URI do Portal Corpore .NET>" ID="_32a417e2-1378-405d-8757-94bcba2db823">
<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="signing">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
	<X509Certificate>MIIC4DCCAcigAwIBAg...<<X509Certificate><Conteúdo do Certificado Proveniente do Arquivo Metadata></X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
<SingleSignOnService Location="https://<Servidor AD FS>/adfs/ls/idpinitiatedsignon.aspx?loginToRp=<Identificador do RP>" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
<SingleSignOnService Location="https://<Servidor AD FS>/adfs/ls/idpinitiatedsignon.aspx?loginToRp=Totvs<Identificador do RP>" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
<SingleLogoutService Location="https://<Servidor AD FS>/adfs/ls/?wa=wsignout1.0" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
<SingleLogoutService Location="https://<Servidor AD FS>/adfs/ls/?wa=wsignout1.0" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" />
</IDPSSODescriptor>
</EntityDescriptor>


Repare  Repare que as URI's devem estar configuradas de acordo com seu ambiente.

Aviso
titleAtenção
  • O atributo entityID do elemento EntityDescriptor deve estar definido com a URL do Portal Corpore.NET.
  • A tag X509Certificate deve ser preenchida com o certificado em base64 proveninente do arquivo de metadata, disponível em https://<Servidor AD FS>/FederationMetadata/2007-06/FederationMetadata.xml
  • Nas URI's de SingleSignOnService, o parâmetros LoginToRp deve receber o nome da Relying Party configurado no Passo 3 do Item "Configurando o aplicativo confiável no AD FS".
  • Importando o metadado do AD FS no RM

 Após           Após obter o metadados personalizado, ele deve ser importado no RM em: Ambiente → Parâmetros → Parâmetros Globais → Integração SAML

          Caso queira integrar o ADFS com a MDI, via SAML, adicionar o metadado no campo "Metadata Identity Provider - RM.exe"

Image Added

          Caso queira integrar o ADFS com o Portal, via SAML, adicionar o metadado no campo "Metadata Identity Provider - Portal".

Image Modified

Informações
title
HTML
Observação

Existe a possibilidade de integrar o ADFS com a MDI e o Portal de forma simultânea, basta adicionar o metadado nos campos "Metadata Identity Provider - RM.exe" e "Metadata Identity Provider - Portal".

</div>

Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Versão: 12.1.18 e superiores

Informações
iconfalse

Processo: Integração SAML

Informações
iconfalse
Informações
iconfalse

Status: Finalizado

Informações
iconfalse

Data:  

Informações
iconfalse

Autores:

Carlos Roberto Pereira Garcia

Carlos Philippe de Farias Marques

Diogo Damiani Ferreira

Stella Gleyse Macedo Vilaca

Informações
iconfalse
titleTópicos Gerais
HTML
<ul>
<li><a href="#IntegraçãodoRMcomADFSviaSAML-Objetivo" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');">Objetivo</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-Introdução" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');">Introdução</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-ConfigurandooAplicativoConfiávelnoADFS" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_RelyingTrusts'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Configurando o Aplicativo Confiável</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-ConfigurandoasRegrasdeDeclaração(RMPortal)" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.Open('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_ConfigurandoRegrasRMPortal'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Configurando as Regras de Declaração (RM Portal)</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-ConfigurandoasRegrasdeDeclaração(RMExe)" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.Open('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_ConfigurandoRegrasRMexe'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Configurando as Regras de Declaração (RM Exe)</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-IntegraçãoSAMLnoRM" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_MetadataADFS'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Integração SAML no RM</a></li> </ul>