我看到授权代码插入到AuthorizationEndpoint.java里面的redirectUri
private String getSuccessfulRedirect(AuthorizationRequest authorizationRequest, String authorizationCode) {
if (authorizationCode == null) {
throw new IllegalStateException("No authorization code found in the current request scope.");
}
Map<String, String> query = new LinkedHashMap<String, String>();
query.put("code", authorizationCode);
String state = authorizationRequest.getState();
if (state != null) {
query.put("state", state);
}
return append(authorizationRequest.getRedirectUri(), query, false);
}
我希望能够只在query.put()的位置添加一段代码,但我无法成功扩展该类。我无法弄清楚在哪里/如何配置它作为我想先命中的auth端点。我还发现有点极端,我需要扩展整个类,以便我可以添加几行代码,以便将另一个查询参数附加到授权代码响应uri。
由于
答案 0 :(得分:0)
我不确定为什么我的问题收到了一个downvote,但无论如何......
因为@dur的评论基本上说我做不到。谢谢顺便说一句(我没有看到任何方式来评价你的评论,我是SO的新手。)
解决方案:我决定创建一个自定义身份验证过滤器,在登录页面出现之前进行过滤。我做了一些验证并将其传递给身份验证。从那里,我为我的过滤器添加了一个自定义成功处理程序,并重定向到/oauth/authorize
,以便跳转到我预期的授权代码流。