using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using TEAMModelOS.SDK.Extension; using System; using TEAMModelOS.Models; using Microsoft.Extensions.Options; using Microsoft.Extensions.DependencyInjection; using System.IdentityModel.Tokens.Jwt; using System.Linq; namespace TEAMModelOS.Filter { public class ApiTokenAttribute : Attribute, IFilterFactory { public bool IsReusable => true; //public string Roles { get; set; } //public string Permissions { get; set; } public IFilterMetadata CreateInstance(IServiceProvider services) { var option = services.GetService>(); return new InternalAuthTokenFilter(option); } private class InternalAuthTokenFilter : IResourceFilter { private readonly Option _option; //private readonly string _roles; //private readonly string _permissions; public InternalAuthTokenFilter(IOptions