从OAuth身份验证代码授予流中的CAS(PingFederate)重定向,在OAuth客户端上创建新会话



我有一个web应用程序,它的作用就像OAuth客户端,以便从PingFederate(这里充当CAS+IDP(获得访问令牌。web应用程序会话由附加在与web应用程序关联的URL中的JSESSION ID管理。登录后,我们web应用程序启动身份验证代码授予流(Spring Security过滤器(,以便为经过身份验证的用户获取访问令牌。在从PingFederate重定向时,重定向url中没有附加JSESSIONID(因为PingFed在这里不知道JSESSIONID(。这会导致web应用程序上的重定向uri启动新会话。

我不希望web应用程序重定向uri生成新的Tomcat会话。从建筑上看,这里好像有什么臭味。我想检查一下有哪些可能的解决方案可以避免生成新会话。

如果需要,我可以共享代码。请询问。

谢谢!

当您的客户端应用程序向PingFederate发送OAuth授权请求时,您可以包含一个redirect_uri查询字符串参数,告诉它如何重定向回您的应用程序。如果您能够在该值中包含JSESSIONID,PingFederate将在重定向中包含它。

鉴于JSESSIONID的值是动态的,您可能需要在PingFederate的管理控制台中的客户端上配置的重定向URI中包含一个通配符(*(。

有关更多详细信息,请参阅:

  • https://docs.pingidentity.com/bundle/pingfederate-101/page/lzn1564003025072.html(redirect_uri参数(
  • https://docs.pingidentity.com/bundle/pingfederate-101/page/roj1564002966901.html(重定向URI可在PingFederate管理中的客户端上配置(

假设您正在实现三格OAuth流,请确保您的体系结构在此明确定义了三方——a(资源所有者、b(消费者和c(服务提供商。这是说明3兆OAuth流量的图表。有关OAuth流中的重定向URL,请阅读此处。这里提供了授权代码授予的示例。

最新更新