在 Ocelot API Gateway 中为特定路由添加授权头 (Authorization: Bearer {access_token})

问题描述

我有一个 Web 应用程序通过 Ocelot API 网关向不同的 API 发出请求。其中一个端点需要通过 JWT 以“Authorization: Bearer {access_token}”(“Bearer”关键字将其标识为承载/令牌身份验证方案)格式作为授权标头发送进行身份验证。此令牌特定于应用程序,不用于向网关(使用不同的身份验证方案)进行身份验证,而是将其作为声明存储在应用程序的安全 HttpOnly cookie 中。

虽然 Ocelot 确实支持将声明转换为标题 (https://ocelot.readthedocs.io/en/latest/features/claimstransformation.html),

"AddHeadersToRequest": {
    "HeaderName": "Claims[ClaimName] > value[0] > |"
},

它只支持一个值,不支持动态标头/字符串连接。换句话说

"AddHeadersToRequest": {
    "Authorization": "Bearer Claims[ClaimName] > value[0] > |"
},

不起作用(这样的请求显然会导致错误 401)。所以我的问题是,如何向特定的 Ocelot 路由添加适当的授权标头/承载令牌?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)