public IHttpActionResult DadosToken([FromBody] string token)
        {
            InformacaoToken info;

            EmissorTokenFactory.BuscaEmissorToken().ValidaToken(token, out info);
            return(Ok(info));
        }
 private void GaranteToken(Usuario usuarioBD)
 {
     if (usuarioBD.Token == null)
     {
         usuarioBD.Token = EmissorTokenFactory.BuscaEmissorToken().CriaToken();
         adaptador.RepositorioUsuario.Editar(usuarioBD);
         adaptador.SalvarAlteracoes();
     }
 }
示例#3
0
        public override void ConstruirDto(Usuario usuario)
        {
            this.Id    = usuario.Id;
            this.Login = usuario.Login;

            var pessoa = usuario.Pessoa;

            this.Nome = pessoa?.Nome;

            var perfil = pessoa?.Perfil ?? 0;

            this.IdPerfil         = (int)perfil;
            this.NomePerfil       = perfil.ToString();
            this.IdMatriculaAtual = (usuario.Pessoa as Aluno)?.Matriculas.MaxByOrDefault(m => m.Periodo)?.Id;

            this.Token = EmissorTokenFactory.BuscaEmissorToken().CriaToken(new InformacaoToken(usuario));
        }
示例#4
0
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            var             token = actionContext.Request.Headers.Authorization?.Parameter;
            InformacaoToken info;

            if (EmissorTokenFactory.BuscaEmissorToken().ValidaToken(token, out info))
            {
                int?idAluno = null;
                if (info.TipoPerfil == PerfilPessoa.Aluno && !string.IsNullOrEmpty(PropriedadeRotaIdAluno))
                {
                    idAluno = Convert.ToInt32(actionContext.ControllerContext.RouteData.Values[PropriedadeRotaIdAluno]);
                }

                if ((Perfis == null || Perfis.Contains(info.TipoPerfil)) && (!idAluno.HasValue || idAluno.Value == info.IdPessoa))
                {
                    actionContext.Request.Properties.Add(Controlador.ChaveInformacaoToken, info);
                    return;
                }
            }
            actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
        }