Spring OAuth2.0:如何向授权代码 (/oauth/authorize) 响应添加自定义查询参数?
Spring OAuth2.0: How can I add a custom query parameter to the Authorization code (/oauth/authorize) response?
我看到这里的redirectUri里面插入了授权码AuthorizationEndpoint.java
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() 所在的位置添加一段代码,但我无法成功扩展 class。我无法弄清楚 where/how 将其配置为我想首先访问的身份验证端点。我还发现我需要扩展整个 class 只是为了添加几行代码以便将另一个查询参数附加到授权代码响应 uri 有点极端。
谢谢
我不确定为什么我的问题遭到否决,但无论如何...
因为@dur 的评论基本上说我不能那样做。顺便说一句,谢谢(我看不出有什么方法可以支持你的评论,我是 SO 的新手)。
解决方案:我决定创建一个自定义身份验证过滤器,在登录页面出现之前进行过滤。我做了一些验证并将其传递给身份验证。从那里,我为我的过滤器添加了一个自定义成功处理程序并重定向到 /oauth/authorize
以跳转到我预期的授权代码流。
我看到这里的redirectUri里面插入了授权码AuthorizationEndpoint.java
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() 所在的位置添加一段代码,但我无法成功扩展 class。我无法弄清楚 where/how 将其配置为我想首先访问的身份验证端点。我还发现我需要扩展整个 class 只是为了添加几行代码以便将另一个查询参数附加到授权代码响应 uri 有点极端。
谢谢
我不确定为什么我的问题遭到否决,但无论如何...
因为@dur 的评论基本上说我不能那样做。顺便说一句,谢谢(我看不出有什么方法可以支持你的评论,我是 SO 的新手)。
解决方案:我决定创建一个自定义身份验证过滤器,在登录页面出现之前进行过滤。我做了一些验证并将其传递给身份验证。从那里,我为我的过滤器添加了一个自定义成功处理程序并重定向到 /oauth/authorize
以跳转到我预期的授权代码流。