Identityserver4 从同一响应读取relaystate

Identityserver4 从同一响应读取relaystate,identityserver4,sustainsys-saml2,Identityserver4,Sustainsys Saml2,我们正在使用SustainSys.Saml2和IdentityServer4 我们在本问题中概述了以下工作流程 当我们在重定向到OneLogin验证用户并发送相同响应之前发出一个ChallengeAsync时,我们会看到我们的AuthenticationProperties被传递到SustatinSys库代码,并且它设置了relayData和returnPath,但当OneLogin发回给我们时,relaystate不是我们需要的returnurl/relayData明确规定。我们相信这是一个从

我们正在使用SustainSys.Saml2和IdentityServer4

我们在本问题中概述了以下工作流程

当我们在重定向到OneLogin验证用户并发送相同响应之前发出一个
ChallengeAsync
时,我们会看到我们的AuthenticationProperties被传递到SustatinSys库代码,并且它设置了relayData和returnPath,但当OneLogin发回给我们时,relaystate不是我们需要的returnurl/relayData明确规定。我们相信这是一个从这里产生的价值,作为SamlAuthenticationRequest创建的一部分


这是将我们创建的relaydata传递给SamlAuthenticationRequest,以便我们可以在成功登录后作为SamlResponse的一部分读取它,还是我们做错了什么,需要在别处设置一些选项以便我们可以读取relaystate?

传递给AuthenticationProperties的relaydata和returnPath是在调用Idp期间保存在加密cookie中。实际Saml2交换中的RelayState是一个随机字符串,也是cookie的名称。处理Saml响应时,将读取cookie的内容并还原AuthenticationProperties(包括ReturnUrl)。

我们正在手动处理响应,但后来意识到我们应该使用您提供的Saml2Handler。谢谢,建议使用处理程序。直接使用commandsapi是一种应该避免的高级方案。这主要是指作为平台特定模块的内部API。