Spring security oauth2错误地使用内部URL作为重定向的当前URI

Spring security oauth2错误地使用内部URL作为重定向的当前URI,第1张

概述在通过客户端应用程序想要访问的OAuth2保护的远程资源的Spring定义中,我将use-current-uri设置为true,换句话说,当前URI应该用作重定向(如果可用).看起来像:<oauth:resource id='myResourceId' type='authorization_code' client-id='${clientI

在通过客户端应用程序想要访问的OAuth2保护的远程资源的Spring定义中,我将use-current-uri设置为true,换句话说,当前URI应该用作重定向(如果可用).看起来像:

现在问题是,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 conf / server.xml的connector元素中,尝试像这样设置前面tomcat的公共URL:

    

这样,tomcat的内部getServername和getServerPort方法将开始提供正确的值,希望这些值可以创建正确的URL.

您可能还希望将Web服务器配置为路由请求的路由
http://example.com/users/login至http://localhost:8080/myapplication/users/login,如果尚未完成. 总结

以上是内存溢出为你收集整理的Spring security oauth2错误地使用内部URL作为重定向的当前URI全部内容,希望文章能够帮你解决Spring security oauth2错误地使用内部URL作为重定向的当前URI所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1248335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)