//public UserAuthorizeMiddleware(RequestDelegate next, AuthServerConfig authServerConfig, IServiceProvider  serviceProvider)
        //{
        //    if (next == null)
        //    {
        //        throw new ArgumentNullException(nameof(next));
        //    }
        //    _next = next;
        //    _authServerConfig = authServerConfig;
        //    _serviceProvider = serviceProvider;
        //    var _emailRepository = serviceProvider.GetRequiredService<IHttpClientFactoryHelper>();
        //}
        /// <summary>
        /// Scoped的接口只能从Invoke进行方法注入,否则无法获取到对象
        /// </summary>
        /// <param name="context"></param>
        /// <param name="httpRequest"></param>
        /// <returns></returns>
        public async Task Invoke(HttpContext context, IHttpClientFactoryHelper httpClient)
        {
            string token = string.Empty;

            token = context.Request.Headers["Authorization"];//先从请求头获取token
            if (string.IsNullOrEmpty(token))
            {
                token = context.Session.GetString("token");//再从session中获取token
            }

            string             url                = $"{_authServerConfig.TokenServerUrl}/Security/Token/ValidateToken";
            string             posData            = JsonConvert.SerializeObject(token);
            TokenAuthorizeInfo tokenAuthorizeInfo = await httpClient.GetJsonResult <TokenAuthorizeInfo>(url, posData, HttpMethod.Get);

            if (tokenAuthorizeInfo != null)
            {
                if (tokenAuthorizeInfo.Status)
                {
                    await _next(context);
                }
                else
                {
                    context.Response.StatusCode = 401;
                }
            }
            else
            {
                context.Response.StatusCode = 401;
            }
        }
 public UserAuthorizeFilter(bool IsRedirectToLogin, AuthServerConfig filterConfig, IHttpClientFactoryHelper httpRequest)
 {
     _IsRedirectToLogin = IsRedirectToLogin;
     _httpClient        = httpRequest;
     _authServerConfig  = filterConfig;
 }
Example #3
0
 public HomeController(ILogger <HomeController> logger, IUserService userService, IHttpClientFactoryHelper httpClientFactoryHelper)
 {
     _logger                  = logger;
     _userService             = userService;
     _httpClientFactoryHelper = httpClientFactoryHelper;
 }
Example #4
0
 public MailServerController(IEmailConfigService emailConfigService, IEmailReceiverService emailReceiverService, IHttpClientFactoryHelper httpClientFactoryHelper)
 {
     _emailConfigService      = emailConfigService;
     _emailReceiverService    = emailReceiverService;
     _httpClientFactoryHelper = httpClientFactoryHelper;
 }
Example #5
0
 public UserController(IUserService userService, IHttpClientFactoryHelper httpClientFactoryHelper)
 {
     _userService             = userService;
     _httpClientFactoryHelper = httpClientFactoryHelper;
 }