Exemple #1
0
        public async Task <RevalidacaoTokenDto> RevalidarLogin()
        {
            // Obter Login do token atual
            var    login          = servicoUsuario.ObterLoginAtual();
            string codigoRfAtual  = servicoUsuario.ObterRf();
            string nomeLoginAtual = servicoUsuario.ObterNomeLoginAtual();

            var dadosUsuario = await servicoEOL.ObterMeusDados(login);

            // Obter Perfil do token atual
            var guidPerfil = servicoTokenJwt.ObterPerfil();

            // Busca lista de permissões do EOL
            var permissionamentos = await servicoEOL.ObterPermissoesPorPerfil(guidPerfil);

            if (permissionamentos == null || !permissionamentos.Any())
            {
                return(null);
            }

            var listaPermissoes = permissionamentos
                                  .Distinct()
                                  .Select(a => (Permissao)a)
                                  .ToList();

            //await servicoTokenJwt.RevogarToken(login);

            return(new RevalidacaoTokenDto()
            {
                Token = servicoTokenJwt.GerarToken(login, nomeLoginAtual, codigoRfAtual, guidPerfil, listaPermissoes),
                DataHoraExpiracao = servicoTokenJwt.ObterDataHoraExpiracao()
            });
        }