Provider Java - Configurações¶
O projeto precisa de uma série de configurações que devem ser realizadas definindo as seguintes variáveis de ambiente:
CLASSE_CONFIGURACAO_INJECAO_DEPENDENCIAS Classe que faz a configuração das injeções da aplicação, permitindo a extensão da solução conforme as necessidades da aplicação cliente. A classe deve estender a classe com.google.inject.AbstractModule da biblioteca Google Guice, e definir, no método configure, classes que implementem as seis interfaces padrão do provider, conforme o exemplo:
@Override
protected void configure() {
bind(CacheAutoriza.class).to(CacheAutorizaPadrao.class);
bind(FachadaAutoriza.class).to(FachadaAutorizaRest.class);
bind(PontoAdministracaoPoliticas.class).to(PontoAdministracaoPoliticasServico.class);
bind(PontoInformacaoPoliticas.class).to(PontoInformacaoPoliticasPadrao.class);
bind(PontoDecisaoPoliticas.class).to(PontoDecisaoPoliticasPadrao.class);
bind(PontoExecucaoPoliticas.class).to(PontoExecucaoPoliticasPadrao.class);
}
Valor padrão: br.gov.serpro.autoriza.plataforma.configuracao.ConfiguracaoInjecaoPadrao
AUTORIZA_SISTEMA_CLIENT_ID Client id da aplicação no Acesso gov.br.
Valor que deve ser utilizado em ambientes não produtivos: client id da aplicação no ambiente de staging do Acesso gov.br.
Valor que deve ser utilizado em ambientes produtivos: client id da aplicação no ambiente de produção do Acesso gov.br.
AUTORIZA_SISTEMA_PADRAO_POLITICAS Padrão de politicas a ser utilizado pela aplicação. Esse valor do arquivo de políticas só será utilizado se a configuração default for sobrescrita e a classe PontoAdministracaoPoliticasArquivo for utilizada na configuração de injeção de dependências.
Valor padrão: perfil.nome,transacao.nome,recurso.caminho,http.verbo
AUTORIZA_SISTEMA_CAMINHO_ARQUIVO_POLITICAS Caminho do arquivo de políticas no path de execução. Esse valor do arquivo de políticas só será utilizado se a configuração default for sobrescrita e a classe PontoAdministracaoPoliticasArquivo for utilizada na configuração de injeção de dependências.
Valor padrão: /opt/arquivosconfig/autoriza-politicas.csv
AUTORIZA_URL_CONSULTA_SISTEMA URL da consulta de sistema no Autoriza.
Valor que deve ser utilizado em ambientes não produtivos: https://h.api.autorizagov.estaleiro.serpro.gov.br/api-autoriza/autorizacao/sistemas/{clientId}/infoSistema
Valor que deve ser utilizado em ambientes produtivos: https://api.autorizagov.estaleiro.serpro.gov.br/api-autoriza/autorizacao/sistemas/{clientId}/infoSistema
AUTORIZA_URL_CONSULTA_USUARIO URL da consulta de usuário no Autoriza.
Valor que deve ser utilizado em ambientes não produtivos: https://h.api.autorizagov.estaleiro.serpro.gov.br/api-autoriza/autorizacao/sistemas/{clientId}/usuarios/{idUsuario}/infoUsuario
Valor que deve ser utilizado em ambientes produtivos: https://api.autorizagov.estaleiro.serpro.gov.br/api-autoriza/autorizacao/sistemas/{clientId}/usuarios/{idUsuario}/infoUsuario
AUTORIZA_URL_CONSULTA_CHAVE_PUBLICA URL da consulta de chave pública no Autoriza.
Valor que deve ser utilizado em ambientes não produtivos: https://h.api.autorizagov.estaleiro.serpro.gov.br/api-autoriza/autorizacao/chavePublica
Valor que deve ser utilizado em ambientes produtivos: https://api.autorizagov.estaleiro.serpro.gov.br/api-autoriza/autorizacao/chavePublica
AUTORIZA_CACHE_SISTEMA_EXPIRACAO_SEGUNDOS Tempo da expiração da cache de sistema.
O tempo de expiração dessa cache deve ser avaliado conforme os riscos de negócio associados à possibilidade de se trabalhar com políticas de acesso defasadas em relação àquelas cadastradas na interface administrativa do Autoriza.
Valor padrão: 600
AUTORIZA_CACHE_USUARIOS_TAMANHO_UNIDADES Quantidade de usuários na cache de usuários.
Esse tamanho de cache deve ser definido conforme a característica de demanda da aplicação.
Consumo de memória
A implementação padrão de cache do provider é feita em memória, com a utilização da biblioteca Google Guava, então é necessário ter ciência que o aumento do número de registros na cache vai implicar num aumento no consumo de memória pela aplicação.
Valor padrão: 1000
AUTORIZA_CACHE_USUARIOS_EXPIRACAO_SEGUNDOS Tempo da expiração da cache de usuários.
O tempo de expiração dessa cache deve ser avaliado conforme os riscos de negócio associados à possibilidade de se trabalhar perfis e transações de usuário defasados em relação àqueles cadastrados para o usuário na interface administrativa do Autoriza.
Valor padrão: 600
AUTORIZA_CACHE_CHAVE_PUBLICA_EXPIRACAO_SEGUNDOS Tempo da expiração da cache de chave pública.
Valor padrão: 3600
Um arquivo de nome autoriza-conf.properties com a definição default dessas propriedade está presente no jar do provider java básico. A aplicação parceira pode criar um arquivo similar de mesmo nome no seu caminho raiz de classpath, ou utilizar variáveis de ambiente conforme já sugerimos.
No caso de haver a definição de uma variável de ambiente com o mesmo nome de uma propriedade no arquivo de configuração, a engine do Autoriza utilizará o valor da variável de ambiente.