为什么spring security oauth2客户端需要AuthorizationRequestRepository?
我在应用SpringOAuth2客户端时遇到问题 我发现,为什么spring security oauth2客户端需要AuthorizationRequestRepository?,spring,spring-boot,spring-security,spring-security-oauth2,Spring,Spring Boot,Spring Security,Spring Security Oauth2,我在应用SpringOAuth2客户端时遇到问题 我发现,org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter想要创建一个OAuth2AuthorizationRequest并通过authorizationRequestRepository临时存储它 相关代码: //OAuth2AuthorizationRequestRedirectFilter.class 受保护的void
org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter
想要创建一个OAuth2AuthorizationRequest
并通过authorizationRequestRepository
临时存储它
相关代码:
//OAuth2AuthorizationRequestRedirectFilter.class
受保护的void doFilterInternal(HttpServletRequest请求、HttpServletResponse响应、FilterChain FilterChain){
OAuth2AuthorizationRequest authorizationRequest=此.authorizationRequestResolver.resolve(请求);
...
此.sendRedirectForAuthorization(请求、响应、授权请求);
....
}
私有void sendRedirectForAuthorization(HttpServletRequest请求、HttpServletResponse响应、,
OAuth2AuthorizationRequest(授权请求){
...
这个.authorizationRequestRepository.saveAuthorizationRequest(authorizationRequest,request,response);
...
}
文档中指出,默认实现是将其存储在HttpSession中,如果需要,可以将其存储在cookie中
相关文件:
问题)
但我不明白。为什么不应该将授权请求
对象存储在内存中?
我不知道为什么spring security提供了
AuthorizationRequestRepository
接口,这样我就可以使用会话或Cookie了。您想存储它以备将来的请求,因为您不想对每个请求执行OAuth流