它可以通过多种方式完成,但其中大多数都涉及编写自定义策略。最简单的如下所示:
<send-request mode="new" response-variable-name="token" timeout="3">
<set-url>xxxx.com/api/vi/auth/token</set-url>
<set-method>POST</set-method>
<set-header name="Authorization" exists-action="override">
<value>Basic dXNlcm5hbWU6cGFzc3dvcmQ=</value>
</set-header>
</send-request>
<set-header name="Authorization" exists-action="override">
<value>@("Bearer " + ((IResponse)context.Variables["token"]).Body.As<string>())</value>
</set-header>
send-request
发送带有基本身份验证标头的请求(替换您的值),并将响应存储在token
变量中。
set-header
从响应中获取正文token
,将其解析为字符串并将其放入Authorization
请求到后端的标头中。
可以在此处进行的一些改进:
- 为安全起见,将您的基本凭据存储在命名值中。
- 缓存令牌,这样您就不需要为每个请求获取它,可能基于令牌过期进行缓存