namespace KaliteApi.Config { //todo test için otomatik token ekledik sonra kaldırcez public class JwtTokenHandlerMiddleware { private readonly RequestDelegate _next; private readonly string _token; public JwtTokenHandlerMiddleware(RequestDelegate next, string token) { _next = next ?? throw new ArgumentNullException(nameof(next)); _token = token ?? throw new ArgumentNullException(nameof(token)); } public async Task Invoke(HttpContext context) { /* swagger dan eğer eklemişşe eklemiyoruz */ if (!context.Request.Headers.ContainsKey("Authorization")) { context.Request.Headers.Add("Authorization", "Bearer " + _token); } await _next(context); } } public static class JwtTokenHandlerMiddlewareExtensions { public static IApplicationBuilder UseJwtTokenHandler(this IApplicationBuilder builder, string token) { return builder.UseMiddleware<JwtTokenHandlerMiddleware>(token); } } } |