为Spring授权服务器的令牌响应添加“ nonce”值

问题描述 投票:0回答:1

我正在尝试使用Spring Security 5.1实现授权服务器。但是我有一个问题。

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

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

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

我尝试了什么?

我添加了一个登录成功处理程序,可以获取保存的授权请求。但是创建令牌时我需要相同的内容。

任何想法怎么做?

谢谢。

spring-security oauth-2.0 spring-security-oauth2 spring-oauth2
1个回答
0
投票

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

@Override
    public OAuth2AccessToken enhance(
      OAuth2AccessToken accessToken, 
      OAuth2Authentication authentication) {
        log.debug("Getting nonce param from stored request " + authentication.getOAuth2Request().getRequestParameters().get("nonce"));;
        return  accessToken;
    }
© www.soinside.com 2019 - 2024. All rights reserved.