public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var identity = new ClaimsIdentity(context.Options.AuthenticationType); MensajeDTO mensaje = sesionServicio.InicioSesion(new UsuarioDTO(context.UserName, context.Password)); if (mensaje.Respuesta["Entidad"] != null) { UsuarioDTO usuario = (UsuarioDTO)mensaje.Respuesta["Entidad"]; if (usuario.Rol != null) { identity.AddClaim(new Claim(ClaimTypes.Role, usuario.Rol.Nombre)); identity.AddClaim(new Claim(context.UserName, context.Password)); identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName)); context.Validated(identity); } else { identity.AddClaim(new Claim(ClaimTypes.Role, "Docente")); identity.AddClaim(new Claim(context.UserName, context.Password)); identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName)); context.Validated(identity); } } else { context.SetError("invalid_grant", (string)mensaje.Respuesta["Mensaje"]); } return; }
public IHttpActionResult Index(UsuarioDTO usuario) { return(Ok(sesionServicio.InicioSesion(usuario))); }