OAuth2AccessTokenResponseClient
的主要作用是在授权服务器的令牌端点上为访问令牌凭据交换授权授予凭据。
用于authorization_code授权的OAuth2AccessTokenResponseClient
的默认实现是DefaultAuthorizationCodeTokenResponseClient
,它使用RestOperations在令牌端点处交换访问令牌的授权代码。
DefaultAuthorizationCodeTokenResponseClient
非常灵活,因为它允许您自定义令牌请求的预处理和/或令牌响应的后处理。
如果需要自定义令牌请求的预处理,可以使用自定义Converter <OAuth2AuthorizationCodeGrantRequest,RequestEntity <?>>
提供DefaultAuthorizationCodeTokenResponseClient.setRequestEntityConverter()
。默认实现OAuth2AuthorizationCodeGrantRequestEntityConverter
构建标准OAuth 2.0访问令牌请求的RequestEntity表示。但是,提供自定义转换器将允许您扩展标准令牌请求并添加自定义参数。
重要
自定义转换器必须返回OAuth 2.0访问令牌请求的有效RequestEntity表示,该表示由预期的OAuth 2.0提供程序理解。
另一方面,如果您需要自定义令牌响应的后处理,则需要使用自定义配置的RestOperations提供DefaultAuthorizationCodeTokenResponseClient.setRestOperations()。 默认的RestOperations配置如下: