在通过客户端应用程序想要访问的OAuth2保护的远程资源的Spring定义中,我将use-current-uri设置为true,换句话说,当前URI应该用作重定向(如果可用).看起来像:
sstokenUri}"
user-authorization-uri="${userAuthorizationUri}"
use-current-uri="true"
scope="myScope"
pre-established-redirect-uri="${preEstablishedRedirectUri}"/>
现在问题是,Spring Security OAuth2客户端将获取当前内部Tomcat URL而不是公共Web应用程序的URL.该场景是位于Apache服务器后面的Tomcat服务器,它产生两组URL:
>公共Web应用程序的URL为http://example.com/users/login
>内部Tomcat URL为http://localhost:8080/myapplication/users/login
因为重定向URL用于授权服务器(例如,Twitter,ORCID)用于发回授权代码,所以应该使用公共Web应用程序的URL,而不是内部URL.
顺便说一句,我使用的是spring-security-oauth2的以下版本:
> spring-security-oauth2-1.0.5.RELEASE
> spring-core-3.1.2.RELEASE
> spring-security-core-3.1.3.RELEASE
想知道是否有办法告诉Spring使用公共URL.谢谢.
这样,tomcat的内部getServerName和getServerPort方法将开始提供正确的值,希望这些值可以创建正确的URL.
您可能还希望将Web服务器配置为路由请求的路由
http://example.com/users/login至http://localhost:8080/myapplication/users/login,如果尚未完成.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。