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