将 "nonce" 值添加到 spring 授权服务器的令牌响应

Adding "nonce" value to token response of spring authorization server

我正在尝试使用 spring 安全 5.1 实施授权服务器。但是我有一个问题。

我已经实施了一个自定义令牌增强器以在令牌响应中添加 id_token 以匹配 OIDC 范围并且工作正常。

但是当服务提供商发送 nonce 参数作为授权请求的一部分并期望它出现在授权服务器发送的 id_token 中时,问题就开始了。所以我的问题是:

如何访问"token_enhancer"中授权请求中发送的参数?

我尝试了什么?

我添加了登录成功处理程序,可以获取保存的授权请求。但是我在创建令牌时需要同样的东西。

知道怎么做吗?

谢谢。

正如您所说,您正在使用 CustomTokenEnhancer,好消息是,您可以获得存储的请求。接下来你知道该怎么做 ;)

@Override
    public OAuth2AccessToken enhance(
      OAuth2AccessToken accessToken, 
      OAuth2Authentication authentication) {
        log.debug("Getting nonce param from stored request " + authentication.getOAuth2Request().getRequestParameters().get("nonce"));;
        return  accessToken;
    }