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.
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