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(); } }
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)); }
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); }