最近在给 Docs4dev 添加用户评论功能时,使用了 Github
提供的 OAuth2
认证来进行用户身份认证,在本地开发环境中一切正常,但是一放到服务器就会认证失败,查看日志后发现 OAuth2
的 redirectUri
参数不匹配,在添加了相关日志后,发现 Spring Boot
是通过 UrlUtils.buildFullRequestUrl(request)
从 HttpServletRequest
中获取的 redirectUri
:
OAuth2LoginAuthenticationFilter
String redirectUri = UriComponentsBuilder.fromHttpUrl(UrlUtils.buildFullRequestUrl(request))