OpenID (Opcional)

O sistema de autenticação do tipo OpenID tem se tornado cada vez mais popular, principalmente devido a cada vez mais aplicações do tipo de micro serviço estarem ganhando o mercado.

Pensando nisso o Cat UI disponibiliza de forma opcional a integração com sistemas de autenticação OpenID como: Google, Microsoft, Facebook ou qualquer outro de sua preferência, desde que siga os padrões de autenticação OpenID.

Para implementar tal funcionalidade bastam apenas algumas configurações.

Importante: No arquivo environment.ts, existem parâmetros de configuração que deverão ser seguidos, segue abaixo um guia explicando a função de cada um.

  • name: Informe um valor de seu gosto apenas para identificar a configuração e servir posteriormente como forma de setar qual sistema de autenticação será utilizado pelo sistema.

  • customQueryParams: Cada sistema de autenticação possui uma forma de escrever e passar informações de secret, pensando nisso, foi criada uma opção onde é possível informar qualquer objeto com as informações que precisar passar para o sistema de autenticação.

  • clientId: Informe aqui o ClientID gerado pelo seu sistema de autenticação que identifica sua aplicação nele.

  • scope: Informe aqui quais dados seu token gerado terá acesso no claims.

  • domain: Informe aqui o host do sistema de autenticação que deseja utilizar.

  • strictDiscoveryDocumentValidation: De acordo com o sistema de autenticação utilizado será necessário informar true ou false para que a autenticação funcione.

  • indexLoginName: Informe aqui qual atributo conterá o nome do usuário no token gerado para a exibição no sistema.

  • indexPictureName (OPCIONAL): Permite informar em qual atributo encontra-se a foto do usuário logado dentro do token.

  • endpointLogout (OPCIONAL): Permite customizar o endpoint onde o fluxo de login utilizará para fazer o logout da aplicação.

  • endpointToken (OPCIONAL): Permite customizar o endpoint onde o fluxo de login utilizará para buscar o token da aplicação.

  • endpointClaims (OPCIONAL): Permite customizar o endpoint onde o fluxo de login utilizará para buscar os dados sensíveis do usuário.

Uso

environment.ts
import { CatEnvironmentInterface } from '@catrx/ui/common';

export const environment: CatEnvironmentInterface = {
  production: false,
  oauthConfig: [{
    name: 'google',
    customQueryParams: {
      client_secret: 't1gbm...'
    },
    clientId: '67944...apps.googleusercontent.com',
    scope: 'openid profile email',
    domain: 'https://accounts.google.com',
    strictDiscoveryDocumentValidation: false,
    indexLoginName: 'name',
    indexPictureName: 'picture'
  }]
};

Last updated

Was this helpful?