我正在尝试配置wiremock,但由于某种原因,
request.query.state
保持为空。如果我将其更改为 {{now}}
,它将插入当前日期,以便模板正常工作。
upStreamIDPMock.stubFor(
get(urlPathEqualTo("/oauth/authorize")).willReturn(status(302))
.withServeEventListener(
"webhook", webhook()
.withMethod(RequestMethod.GET)
.withUrl("http://localhost:8082/oidc/callback?code=$code&state={{request.query.state}}")
)
)
userService.stubFor(get("/callback").willReturn(ok()))
这是我的请求网址:
/oauth/authorizescope=openid+profile+email&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8082%2Foidc%2Fcallback&state=UHq4_t4jedo3-gtO2uPqNGemeWf-au9yceyrKVPLN7Y&nonce=FnioULWSy-Hd4mmlC6o15d_BOg49MJlZzi3on7ts_PQ
这是回复:
http://localhost:8082/oidc/callback?code=QxyTZeVACxRxzcJmRB4xQciCApy2aNQsbyDg5-sIU7w&state=
我调试了一下,发现需要在webhook中使用
originalRequest
,即.withUrl("http://localhost:8082/oidc/callback?code=$code&state={{originalRequest.query.state}}")
找出参数的实际名称后,我可以在文档中找到参考:
与响应模板类似,原始请求数据可用,尽管在本例中它被命名为
。originalRequest