我们一直在使用Azure API Management的Rate Limiting by JWT,并遵循以下说明:
https://learn.microsoft.com/en-us/azure/api-management/api-management-sample-flexible-throttling#user-identity-throttling
但是现在我们将JWT从“授权”头移动到Cookie,这是出于一些业务原因。
有没有一种方法可以从请求中读取Cookie,然后从Cookie(jwt)中读取特定的属性,这样我们就可以继续这样做?
我可以在APIM策略中使用以下代码读取整个Cookie:
var cookie = context.Request.Headers.GetValueOrDefault("Cookie","");
字符串
但这会读取整个cookie字符串,如下所示:
SSID=143443; Version=C5.4.0; Subject=Xyz; Token=<jwt>;
型
我需要能够从APIM策略中的这个字符串中提取令牌部分
1条答案
按热度按时间cnh2zyt31#
您可以提取令牌并将其存储在变量中。
为了只提取
Token
值,可以使用Regex:Token=([\\S]*);
个请找到完整的
inbound
策略,并阅读和返回Token值:字符串
API管理中的测试:
的数据