Tomcat 从OAuth身份验证代码授权流中的CAS(PingFederate)重定向,在OAuth客户端上创建新会话
我有一个web应用程序,它就像OAuth客户机一样,从PingFederate(这里充当CAS+IDP)获取访问令牌。web应用会话由附加在与web应用关联的URL中的JSESSION ID管理。 登录后,我们发现web应用程序启动身份验证代码授权流(Spring安全过滤器),以便为经过身份验证的用户获取访问令牌。从PingFederate重定向时,重定向url中没有附加JSSessionID(因为PingFed不知道这里的JSSessionID)。这会导致web应用程序上的重定向uri启动新会话 我不希望web应用重定向uri生成新的Tomcat会话。从建筑上看,这里似乎有些异味。我想检查哪些可能的解决方案可以避免生成新会话 如果需要,我可以共享代码。请问Tomcat 从OAuth身份验证代码授权流中的CAS(PingFederate)重定向,在OAuth客户端上创建新会话,tomcat,spring-security,oauth-2.0,spring-security-oauth2,pingfederate,Tomcat,Spring Security,Oauth 2.0,Spring Security Oauth2,Pingfederate,我有一个web应用程序,它就像OAuth客户机一样,从PingFederate(这里充当CAS+IDP)获取访问令牌。web应用会话由附加在与web应用关联的URL中的JSESSION ID管理。 登录后,我们发现web应用程序启动身份验证代码授权流(Spring安全过滤器),以便为经过身份验证的用户获取访问令牌。从PingFederate重定向时,重定向url中没有附加JSSessionID(因为PingFed不知道这里的JSSessionID)。这会导致web应用程序上的重定向uri启动新会
谢谢 当客户端应用程序向PingFederate发送OAuth授权请求时,您可以包含一个
redirect\u uri
查询字符串参数,告诉它如何重定向回应用程序。如果您能够在该值中包含JSESSIONID,PingFederate将在重定向中包含它
鉴于JSSessionID的值是动态的,您可能需要在PingFederate管理控制台中客户端上配置的重定向URI中包含通配符(*
)
有关详细信息,请参阅:
- (
参数)redirect\u uri
- (重定向URI可在PingFederate管理中的客户端上配置)
演示了三腿OAuth流。对于。身份验证代码授权是。注意,我这样做的方式是在使用关联的重定向状态键进行重定向之前捕获JSSessionID&我在基于PingFederate返回的状态键进行重定向之后重新插入JSSessionID。我们认为这是处理这种情况的有效方法吗?我有点不确定PingFederate中重定向uri中的通配符将如何工作,因为在多用户场景中可以同时发生多个JSESSIONID重定向