Páginas filhas
  • Identity - Segmento TFS Core Banking

Versões comparadas

Chave

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

...

Então, igualmente o aplicativo estabelece uma relação de confiança com o IDP e assume que o usuário devolvido é de fato válido e autêntico.

Diagrama de Sequência SP_INITIATEDImage Modified

...

Preparando o TFS para o Single-Sign-On

...

Entre com as informações básicas:

Informações básicasImage Modified

Então clique na aba Entrar e configure as informações de Single-Sign-On propriamente dita, conforme imagem abaixo:

Configurações Single-Sign-OnImage Modified

Executável SAML

 

Aviso
titleAtenção

Estas instruções devem ser seguidas para que o Executável SAML funcione!

 

As aplicações Power Builder são instaladas através de um instalador do tipo Wizard que, além de copiar todos os arquivos corretamente na pasta de instalação, ainda efetua o registro da aplicação no Registro do Windows (Regedit). Além da informação do executável, é criado um par chave/valor com chave 'Path' e com valor que contém os caminhos dos diretórios onde se encontram as DLL's necessárias para execução da aplicação Power Builder.

 

Regedit do executável Power BuilderImage Removed

 

Na solução Executável SAML, ao efetuar o handshake SAML após o launcher da aplicação, o Fluig Identity invoca o executável Power Builder através do Desktop Launcher, que é uma aplicação utilitária executável (appinvoker.exe), que por sua vez realiza a chamada do executável do Power Builder propriamente dito.

 

AppinvokerImage Removed

 

O problema é que o executável Power Builder, ao ser invocado pelo appinvoker.exe, herda dele todas as configurações do Registro do Windows. Como o appinvoker não tem a chave 'Path' configurada, também não a repassa para o executável Power Builder que fica sem "saber" onde estão as DLL's e portanto, incapaz de funcionar corretamente.

Para que o executável Power Builder possa ser executado corretamente, deve ser criado o par chave/valor do tipo 'Valor da Cadeia de Caracteres' na configuração Regedit do appinvoker exatamente igual ao configurado para o executável Power Builder.

 

 

Deck of Cards
idpassos_regedit_appinvoker
Card
labelPasso 1

Localize o executável Power Builber no Regedit:

Localizando Executável Power BuilderImage Removed

Card
labelPasso 2

Copie o todo o valor da chave 'Path':

Copiando o valor da chave 'Path'Image Removed

Card
labelPasso 3

Localize o executável do appinvoker:

Localizando executável appinvokerImage Removed

Card
labelpasso 4

Crie um novo 'Valor da Cadeia de Caracteres' com o nome 'Path':

Criando chave 'Path' em appinvokerImage Removed

 

Card
labelPasso 5

Edite e insira o conteúdo criado no Passo 1:

Nota
titleImportante

O Windows deve ser reiniciado para que a alteração tenha efeito.

Editando o valor da chave 'Path'Image Removed

 

 

Provisionamento

O provisionamento permite que todas as operações efetuadas no Fluig Identity referentes a criação e gerenciamento de Usuários, Perfis (Roles) e Autorizações (Entitlements) sejam refletidos no TFS. Para que haja sincronia entra as informações no Fluig Identity e o TFS, o FI invoca serviços RESTful disponibilizadas pelo TFS. Assim sendo, o TFS teve que implementar, disponibilizar expor estes serviços que ficam acessíveis através de uma URL. Esta URL deve estar configurada na aplicação.

Configurando a aplicação para o provisionamento

Para configurar o TFS para o provisionamento, clique na aba Provisionar e preencha os campos conforme imagem abaixo:

Configuração do provisionamentoImage Removed

Particularidades na configuração

Diferenciando TFS Web e TFS Power Builder

Conforme mencionado no início desta página, os módulos do TFS Core Banking são disponibilizados em duas tecnologias, Java e Power Builder. Porém, possui o modelo de permissionamento (bando de dados) compartilhado, ou seja, os mesmo recursos (usuários, perfis, etc) são mantidos na mesma base para as duas tecnologias. Para que seja possível distinguir qual aplicação está chamando os serviços RESTful, incluímos na URL REST o pb ou web juntamente com o ID do app no Fluig Identity. Quando um request chega no serviço, capturamos este a tecnologia e o ID e sabemos quem (qual aplicação) está invocando o método.

 

Informações
titleURL REST:
http://189.89.44.15/jsp_pf_hml/resource/rest/web/3c9vpl81h31zqiz71417183899797

Permitindo acesso externo e diferenciando ambiente

Como o Fluig identity é uma aplicação cloud que precisa acessar serviços dentro da rede do TFS Core Banking, foi disponibilizado uma máquina com IP externo exposto rodando um Apache Server que é responsável por redirecionar os requests para os servidores internos do TFS.

Aproveitando os recursos de redirecionamento do Apache que avalia o destino com base no contexto da URL, aproveitamentos para usar este recurso e criar também redirecionamento para os diversos ambientes da experiência (desenv, homolog, qa, etc).

 

One-Click Configuration

Para que o TFS possa ser acessível atráves do Fluig Identity via Single-Sign-On, é necessário habilitar a opção no Módulo Provisionador Fluig. O One-Click Configuration é uma forma simples de configurar o TFS para usar o Identity com apenas um clique. Basta configurar o contexto do Identity e o Token da Aplicação que o TFS se conecta ao FI e importa todas as configurações necessárias para a iteração entre as partes.

Passo 1: Acesse o Módulo e clique em Provisionador Fluig > Configuração.

Provisionador FluigImage Added

Para buscar o Token da aplicação, acesse o aplicativo que foi cadastrado no Fluig Identity entre em Configurações > Overview > Token de Configuração.

Token da aplicaçãoImage Added

Passo 2: Preencha os campos URL do Fluig Identity e Token de Config. da Aplicação e clique no botão One-Click. O módulo Proviisonador Fluig deve buscar e armazenar as configurações do Fluig Indentity.

Image Added


Executável SAML

Para acessar as aplicações PowerBuilder o Fluig deve chamar o aplicativo Abertura passando alguns parâmetros. O acesso aos aplicativos é sempre através do Abertura.

Parâmetros

O Abertura aguarda 5 parâmetros, separados por espaço, passados no formato chave e valor. Todas as chaves iniciam com sinal de menos (-) e terminam com sinal de igual (=) e em seguida é informado o valor. Caso algum parâmetro não precise ser informado, não deve ser passada nem a chave e nem o valor.

Exemplo da linha de parâmetros: "-sgMdl=EM -sgTrn=GARBOUGA -cdUsu=TB -samlSession=51438757-f6c0-4fb8-8877-489451e672f4 -samlTimeout=60"

            Definição dos parâmetros:

-sgMdl=XX - Módulo ou Aplicação a ser acessada;

-sgTrn=XXXXXXXX – Nome da transação (tela) que deve ser aberta ao entrar na aplicação;

-cdUsu=XX – Nome do usuário para fazer login;

-samlSession=XXXX – Número da sessão que o Fluig grava na tabela T400AUTH do banco SEGURANCA para o usuário. O mesmo número deve ser passado nesse parâmetro para validação no momento do login;

-samlTimeout=99 – Tempo em segundos que a sessão gravada na tabela T400AUTH permanece válida para efetuar o login.

Os parâmetros “-cdUsu=”, “-samlSession=” e “-samlTimeout=” são obrigatórios para Abertura identificar que foi o Fluig que executou o Abertura.

 Aplicação Abertura

O aplicativo Abertura é um centralizador de módulos ou de sistemas da TFS. Abaixo exemplo da tela inicial:

Image Added

O Abertura aguarda uma string com os parâmetros enviados pelo Fluig. Caso não forem passados os parâmetros obrigatórios, o Abertura vai abrir normalmente e pedir usuário e senha para logar em qualquer módulo TFS, não identificando o login através do Fluig.

Com os parâmetros obrigatórios validados (“-cdUsu=”, “-samlSession=” e “-samlTimeout=”), o Abertura irá identificar que a requisição foi através do Fluig e irá repassá-los ao módulo que o usuário quer entrar. Não sendo necessário informar usuário e senha novamente, já que usuário já está autorizado pelo Fluig.

O Fluig deve gravar uma sessão nova para cada requisição de Módulos PowerBuilder. A sessão é caracterizada por uma linha no banco SEGURANCA, na tabela T400AUTH. A sessão é por usuário. O número da sessão gravada no banco deve ser passado na chave “-samlSession=”, junto com as chaves “-cdUsu=” e “-samlTimeout=. Caso a sessão não estiver gravada no banco, o Abertura irá retornar uma mensagem de erro.

Image Added

Quando o Abertura encontra uma sessão aberta, verifica se ela ainda é válida. Caso o timeout for “-samlTimeout=60”, a sessão gravada deve ser consumida em 1 minuto, caso contrário irá devolver uma mensagem de erro de tempo de sessão expirado.

Image Added

Quando o Abertura valida a sessão passada, verifica se existe modulo e transação informada.

Caso o Abertura receber o parâmetro indicando um módulo para acessar (-sgMdl=), ele vai abrir diretamente o módulo pedido não parando na tela inicial.

Exemplo: -sgMdl=EM -cdUsu=TB -samlSession=51438757-f6c0-4fb8-8877-489451e672f4 -samlTimeout=60.

No exemplo, foi validado o usuário, a sessão e o timeout de sessão e o Abertura chamou diretamente o módulo EM (Empréstimos) sem pedir usuário e senha. Caindo na tela de abrangência.

Image Added

Além do módulo (-sgMdl=) o Fluig pode enviar para o Abertura a transação que deseja abrir. Passando o parâmetro -sgTrn=XXXXXXXX. Assim, o Abertura chama o módulo desejado e abre a transação diretamente, como se estivesse escolhido pelo menu da aplicação PowerBuilder.

Por exemplo, -sgMdl=EM -cdUsu=TB -samlSession=51438757-f6c0-4fb8-8877-489451e672f4 -samlTimeout=60 -sgTrn=GARBPART

No exemplo, foi validado o usuário, a sessão e o timeout de sessão e o Abertura chamou diretamente o módulo EM (Empréstimos) sem pedir usuário e senha. E como recebeu também o parâmetro –sgTrn=GARBPART abriu a tela de Garantias e Bens.

 Image Added


Aviso
titleAtenção

Estas instruções devem ser seguidas para que o Executável SAML funcione!

 

As aplicações Power Builder são instaladas através de um instalador do tipo Wizard que, além de copiar todos os arquivos corretamente na pasta de instalação, ainda efetua o registro da aplicação no Registro do Windows (Regedit). Além da informação do executável, é criado um par chave/valor com chave 'Path' e com valor que contém os caminhos dos diretórios onde se encontram as DLL's necessárias para execução da aplicação Power Builder.

 

Regedit do executável Power BuilderImage Added

 

Na solução Executável SAML, ao efetuar o handshake SAML após o launcher da aplicação, o Fluig Identity invoca o executável Power Builder através do Desktop Launcher, que é uma aplicação utilitária executável (appinvoker.exe), que por sua vez realiza a chamada do executável do Power Builder propriamente dito.

 

AppinvokerImage Added

 

O problema é que o executável Power Builder, ao ser invocado pelo appinvoker.exe, herda dele todas as configurações do Registro do Windows. Como o appinvoker não tem a chave 'Path' configurada, também não a repassa para o executável Power Builder que fica sem "saber" onde estão as DLL's e portanto, incapaz de funcionar corretamente.

Para que o executável Power Builder possa ser executado corretamente, deve ser criado o par chave/valor do tipo 'Valor da Cadeia de Caracteres' na configuração Regedit do appinvoker exatamente igual ao configurado para o executável Power Builder.

 

 

Deck of Cards
idpassos_regedit_appinvoker
Card
labelPasso 1

Localize o executável Power Builber no Regedit:

Localizando Executável Power BuilderImage Added

Card
labelPasso 2

Copie o todo o valor da chave 'Path':

Copiando o valor da chave 'Path'Image Added

Card
labelPasso 3

Localize o executável do appinvoker:

Localizando executável appinvokerImage Added

Card
labelpasso 4

Crie um novo 'Valor da Cadeia de Caracteres' com o nome 'Path':

Criando chave 'Path' em appinvokerImage Added

 

Card
labelPasso 5

Edite e insira o conteúdo criado no Passo 1:

Nota
titleImportante

O Windows deve ser reiniciado para que a alteração tenha efeito.

Editando o valor da chave 'Path'Image Added

 

 

Provisionamento

O provisionamento permite que todas as operações efetuadas no Fluig Identity referentes a criação e gerenciamento de Usuários, Perfis (Roles) e Autorizações (Entitlements) sejam refletidos no TFS. Para que haja sincronia entra as informações no Fluig Identity e o TFS, o FI invoca serviços RESTful disponibilizadas pelo TFS. Assim sendo, o TFS teve que implementar, disponibilizar expor estes serviços que ficam acessíveis através de uma URL. Esta URL deve estar configurada na aplicação.

Configurando a aplicação para o provisionamento

Para configurar o TFS para o provisionamento, clique na aba Provisionar e preencha os campos conforme imagem abaixo:

Aviso
titleAtenção!
O Modelo RAC para o TFS Core Banking deve ser sempre o Modelo Datasul!

Configuração do provisionamentoImage Added

Particularidades na configuração

Diferenciando TFS Web e TFS Power Builder

Conforme mencionado no início desta página, os módulos do TFS Core Banking são disponibilizados em duas tecnologias, Java e Power Builder. Porém, possui o modelo de permissionamento (bando de dados) compartilhado, ou seja, os mesmo recursos (usuários, perfis, etc) são mantidos na mesma base para as duas tecnologias. Para que seja possível distinguir qual aplicação está chamando os serviços RESTful, incluímos na URL REST o pb ou web juntamente com o ID do app no Fluig Identity. Quando um request chega no serviço, capturamos este a tecnologia e o ID e sabemos quem (qual aplicação) está invocando o método.

 

Informações
titleURL REST:
http://189.89.44.15/jsp_pf_hml/resource/rest/web/3c9vpl81h31zqiz71417183899797

Permitindo acesso externo e diferenciando ambiente

Como o Fluig identity é uma aplicação cloud que precisa acessar serviços dentro da rede do TFS Core Banking, foi disponibilizado uma máquina com IP externo exposto rodando um Apache Server que é responsável por redirecionar os requests para os servidores internos do TFS.

Aproveitando os recursos de redirecionamento do Apache que avalia o destino com base no contexto da URL, aproveitamentos para usar este recurso e criar também redirecionamento para os diversos ambientes da experiência (desenv, homolog, qa, etc).

 

Informações
titleURL REST:
http://189.89.44.15/jsp_pf_hml/resource/rest/web/3c9vpl81h31zqiz71417183899797

 

 

Bloco de código
languagexml
titleApache httpd.conf
<VirtualHost *:80>
Bloco de código
languagexml
titleApache httpd.conf
<VirtualHost *:80>
	ProxyPreserveHost On

	ProxyPass /jsp_pf http://10.51.6.115:8080/jsp_pf
	ProxyPassReverse /jsp_pf http://10.51.6.115:8080/jsp_pf

	ProxyPass /jsp_pf_loc http://10.51.6.123:8085/jsp_pf
	ProxyPassReverse /jsp_pf_loc http://10.51.6.123:8085/jsp_pf

	ProxyPass /jsp_pf_dev http://vfluigplatdev:9090/jsp_pf
	ProxyPassReverse /jsp_pf_dev http://vfluigplatdev:9090/jsp_pf

	ProxyPass /jsp_pf_hml http://10.51.2.119:8080/jsp_pf
	ProxyPassReverse /jsp_pf_hml http://10.51.2.119:8080/jsp_pf

	<Location "/jsp_pf">
		Order allow,deny
		Allow from all
	</Location>
	<Location "/TOTVSIntegration">
		Order allow,deny
		Allow from all
	</Location>
</VirtualHost>/jsp_pf
	ProxyPassReverse /jsp_pf_hml http://10.51.2.119:8080/jsp_pf

	<Location "/jsp_pf">
		Order allow,deny
		Allow from all
	</Location>
	<Location "/TOTVSIntegration">
		Order allow,deny
		Allow from all
	</Location>
</VirtualHost>

Sincronização

A sincronização do módulo de permissionamento é uma operação que deve ser realizada inicialmente para o que todos os dados do modelo de permissionamento do TFS sejam importados para o Fluig Identity. Trata-se de uma carga full inicial e deve ser executado somente uma vez. A partir daí, toda operação referente a permissionamento, deve ser feita no Fluig Identity e não mais no módulo de Segurança do TFS.

Para fazer a sincronização, entre nas configurações da aplicação, aba Recursos e clique no botão Synchronize.

Image Added