Autenticação Microsoft Azure Ad

Possibilita usar uma conta vinculada a uma aplicação registrada no Azure ad como login principal da plataforma, permitindo que usuários entrem na aplicação sem necessidade de um novo cadastro.

As aplicações mobile utilizam a biblioteca de autenticação da Microsoft MSAL para poder obter um token com as informações do usuário, esse token é então submetido e validado no backend da plataforma, gerando uma credencial nova.

Exemplo de tela de login

Funcionamento

No momento do login:

  • Ao logar na plataforma utilizando a biblioteca MSAL é gerado um token que possui informações do usuário.

  • Caso o usuário ainda não exista na base mobilex, o sistema cria um novo usuário na plataforma a partir de um id único obtido do id_token retornado na autenticação.

  • Caso o usuário já exista na base mobilex, é gerado um token para acesso a plataforma mobileX.

Configurar uma nova app:

  • Nos fronts mobile habilitar a flag HAS_AZUREAD_AUTH como true

  • Inserir no projeto android o arquivo auth_config_single_account.json de configuração gerado na configuração da app no azure ad

Ex Android

{
  "client_id": "e5544g60c6-4a2a-9395-2a5967294d40",
  "authorization_user_agent": "DEFAULT",
  "redirect_uri": "msauth://br.meudominio/tgd7g8s4TEBzoFNQs%3D",
  "account_mode": "SINGLE",
  "broker_redirect_uri_registered": false,
  "authorities": [
    {
      "type": "AAD",
      "audience": {
        "type": "AzureADandPersonalMicrosoftAccount",
        "tenant_id": "common"
      }
    }
  ]
}
  • No banco de dados na tabela SSOConfiguration, inserir uma linha com informações de validação do token gerado na autenticação com o MSAL. Exemplo:

    • Id = Identificador único para linha.

    • AppId = Identificador da aplicação.

    • Secret = Campo para armazenar chave de acesso ao SSO.

    • UrlPublicKey = Endereço onde se encontra a chave pública para validar token.

    • GrantType = Tipo de SSO usado (azure_ad ou govbr ).

    • ValidateIssuer = Endereço do emissor da credencial.

    • ValidIssuer = Flag sinalizando se deve ou não validar emissor da credencial.

Customizações: Logo no topo da tela pode ser alterado, background pode ser customizado com imagem ou cor sólida, texto do botão pode ser customizado, e texto abaixo do botão pode ser alterado para qualquer outro.

Last updated