# Como ocorre login no contabilizei-front - no app_novo, ao entrar na rota '/', verifica se tem um token na URL - se tiver, chama Security.clearUser() - pede um redirect pra URL indicada como parâmetro na URL - chama Security.login, com o seguinte callback - se user === null -> senha incorreta - no user, se tiver um erro, trata - para cada elemento em error.listaEmpresa, verifica - se empresaInativa.motivoStatusEmpresa != null && empresaInativa.motivoStatusEmpresa.codigo == 2 é porque esta inadimplente - se nao estiver inadimplente é porque está inativa - senao, broadcast tentativaDeLoginInadimplente - se user não for null e não tiver error, verificar se redirect == /onboarding - se for, chama redirectOnboarding - se não for, redireciona pra onde o redirect pede Security.clearUser: ```javascript $http.defaults.headers.common['strinfs-token'] = null; $http.defaults.headers.common['userId'] = null; Storage.remove("l"); ``` - Security.login: - limpa headers strinfs-token e userId - remove storage l - chama /public/login passando o token no body - sucesso - define headers strinfs-token e userId - salva user no localStorage como l - erro - se response.data, cria objeto user com atributo error = response.data e chama callback - - o que acontece quando broadcast tentativaDeLoginInadimplente: - ver inadimplencia-controller.js - resumo: mostra modal - - redirectOnboarding: - se user.empresa.novoOnboarding, redireciona: window.location = baseUrlOnboardingFront + 'login?token=' + $http.defaults.headers.common['strinfs-token'] - senão - criar lista de onboarding: - para cada empresa de user.listaEmpresa, identificar as que empresa.status.id == 'RASCUNHO' e adicionar na listaEmpresaOnboarding do responsável - para cada empresa de listaEmpresaOnboarding do responsavel - setar empresa.onboarding para true naquela que corresponde o CNPJ - guardar o responsavel no localStorage 'r' - redirecionar para /onboarding