Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么spring security oauth2客户端需要AuthorizationRequestRepository?_Spring_Spring Boot_Spring Security_Spring Security Oauth2 - Fatal编程技术网

为什么spring security oauth2客户端需要AuthorizationRequestRepository?

为什么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

我在应用SpringOAuth2客户端时遇到问题

我发现,
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流