Integração com Azure Active Directory
O Azure Active Directory utiliza o protocolo SAML que é um protocolo aberto para autenticação e autorização entre duas partes: o Identity Provider e o Service Provilder. Para configurar a integração da plataforma com um login ADFS/SAML, contacte o administrador de TI do próprio cliente para solicitar a ativação do Azure Active Directory.
O que você pode fazer:
Com o serviço ativado, acesse Aplicativos Empresariais > Novo aplicativo. Selecione a opção Aplicativo inexistente na galeria e informe um nome para o aplicativo, por exemplo wso2, e clique em Adicionar.
- Acesse o aplicativo criado e clique na opção Configurar logon único;
- Em Configuração Básica de SAML informe as seguintes propriedades:
- Identificador (ID da Entidade): wso2 (mesmo valor utilizado na configuração do tenant Id da entidade do Service Provider);
- URL de Resposta (URL do Serviço do Consumidor de Declaração): https://platform.senior.com.br:9443/commonauth.
- Em Atributos e Declarações do Usuário, clique no ícone de edição, e selecione o atributo Identificador Exclusivo do Usuário (ID do Nome) para retornar somente o usuário (sem domínio).
- No campo Fonte, altere a opção para Transformação e clique no ícone Editar. Selecione a transformação Extract() / Antes da correspondência, e informe o Parâmetro 1 (Entrada) como user.userprincipalname e o valor @.
Nota
É importante guardar as informações sobre URL de Logon, Identificador do Azure AD e URL de logoff para configurar o tenant na XPlatform.
- Acesse Tecnologia > Administração > Gestão dos Tenants > Configurar;
- Selecione o tenant desejado e clique em Configurar;
- Na guia de Autenticação, marque a opção Autenticação SAML e realize os seguintes ajustes na seção Configurações SAML:
- URL de redirecionamento da requisição SAML: https://platform.senior.com.br:9443/auth/LoginWithCodeServlet;
- ID da entidade do Identity Provider: Identificador do Azure AD (ex: https://sts.windows.net/a5a8c8ff-1089-4b1e-85c7-629d9c7f50ba/);
- ID da entidade do Service Provider: Identificador (ID da Entidade) configurado na azure (ex: wso2);
- URL para realizar o login: URL de logon disponibilizada pela azure. (ex: https://login.microsoftonline.com/a5a8c8ff-1089-4b1e-85c7-629d9c7f50ba/saml2);
- URL para realizar o logoff: URL de logoff disponibilizada pela azure. (ex: https://login.microsoftonline.com/common/wsfederation?wa=wsignout1.0);
- Claim que define o username do usuário: a URI do claim de username retornado pelo SAML, mesmo configurado na azure. (ex: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name);
- Claim que define o e-mail do usuário: a URI do claim de e-mail retornado pelo SAML, mesmo configurado na azure. (ex: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress);
- Claim que define o nome do usuário: a URI do claim de username retornado pelo SAML, mesmo configurado na azure. (ex: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname);
- Papel que será definido para novos usuários: qual papel inicial será definido para os usuários na primeira vez que eles realizarem o login utilizando a integração SAML/ADFS, mesmo configurado no servidor ADFS.
As Claims mencionadas acima são apenas exemplos; a configuração pode variar de acordo com cada tenant.
Importante
A configuração das Claims na plataforma Senior X é de responsabilidade do cliente e deve ser ajustada de acordo com as Claims trafegadas pelo SAML.
É essencial que as Claims trafeguem os dados corretos no SAML do usuário. Por exemplo, se na claim de Username for enviado o e-mail, isso resultará em erro na plataforma.
Essa configuração é feita por padrão, sendo necessária realizar apenas quando ocorrer um erro com o Callback URL, apenas a senior pode alterar estas informações.
- Acesse a store do Tenant do WSO2 através da URL https://[dominio]:[porta]/store/?tenant=[tenantdomain] (exemplo: *https://platform.senior.com.br:39443/store/?tenant=saml.com*);
- Realize o login com o usuário administrador do tenant;
- Selecione a opção My Applications e verifique a aplicação definida;
- Configure o valor da propriedade Callback URL para https://[dominio]:[porta]/auth/LoginWithCodeServlet (exemplo: *https://platform.senior.com.br:39443/auth/LoginWithCodeServlet*).