我正在尝试使用Spring Security 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;
}