admin/src/SimpleAdmin.Api/Auth/WarehouseOpenApiAuthHeaderMiddleware.cs
zzh b7be742046
All checks were successful
Build and Deploy / deploy (push) Successful in 4m34s
feat: 店铺订单支持仓储代发(wms)建单,放宽创建状态限制
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 15:39:31 +08:00

37 lines
1.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace SimpleAdmin.Api.Auth;
/// <summary>
/// 仓配开放 API:Authorization 直接传 JWT(不要求 Bearer 前缀)。
/// 在进入 JwtBearer 前补上 Bearer,以便复用现有鉴权。
/// </summary>
public sealed class WarehouseOpenApiAuthHeaderMiddleware(RequestDelegate next)
{
public Task InvokeAsync(HttpContext context)
{
if (context.Request.Path.StartsWithSegments("/openapi/warehouse"))
{
NormalizeAuthorizationHeader(context.Request.Headers);
}
return next(context);
}
private static void NormalizeAuthorizationHeader(IHeaderDictionary headers)
{
var auth = headers.Authorization.ToString();
if (string.IsNullOrWhiteSpace(auth))
{
return;
}
auth = auth.Trim();
if (auth.StartsWith("Bearer ", StringComparison.OrdinalIgnoreCase))
{
return;
}
// 无 scheme:Authorization: {token}
headers.Authorization = "Bearer " + auth;
}
}