<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth]]></title><description><![CDATA[<h4><strong>Context:</strong></h4>
<p dir="auto">We are implementing <strong>Reverse SSO</strong> where <strong>FusionAuth acts as the IdP</strong>, and we are experiencing an issue with the <strong>state parameter</strong> when completing authentication with an <strong>external OIDC-compliant service (ChainPoint)</strong>.</p>
<h4><strong>Flow Overview:</strong></h4>
<ol>
<li><strong>MemberSuite</strong> initiates the login request using <strong>Reverse SSO</strong>.</li>
<li>Our <strong>SSO Bridge</strong> intercepts the request and <strong>constructs the authentication URL</strong> for FusionAuth, ensuring the <code>state</code> parameter is included.</li>
<li>The user is redirected to <strong>FusionAuth for authentication</strong>.</li>
<li>Upon successful authentication, <strong>FusionAuth redirects the user to ChainPoint</strong>.</li>
<li><strong>ChainPoint expects the <code>state</code> parameter for security validation</strong>, but it appears to be missing or not returned correctly.</li>
</ol>
<h4><strong>Authentication URL We Construct:</strong></h4>
<p dir="auto">We generate the following authentication URL from our <strong>SSO Bridge</strong>:</p>
<pre><code>https://auth.example.com/oauth2/authorize?client_id=12345678-1234-1234-1234-123456789abc&amp;response_type=code&amp;response_mode=form_post&amp;redirect_uri=https%3A%2F%2Fchainpoint.example.com%2Flogin%2Fsso%2Fresponse%2F98765432&amp;state=randomgeneratedstate12345
</code></pre>
<h4><strong>The Problem:</strong></h4>
<ul>
<li><strong>We generate the <code>state</code> in our SSO Bridge</strong> when constructing the authentication URL.</li>
<li>However, when FusionAuth completes authentication and redirects to ChainPoint, the <strong>state is not present or correctly returned</strong>.</li>
<li>Since ChainPoint <strong>uses the state for CSRF protection and session validation</strong>, the authentication fails.</li>
<li>We <strong>cannot persist the state in our SSO Bridge</strong> because, once redirected to FusionAuth, the SSO Bridge is no longer part of the process.</li>
<li>Since <strong>FusionAuth is the entity communicating with ChainPoint</strong>, we need a way to <strong>retain and correctly propagate the state</strong> throughout the flow.</li>
<li>We <strong>cannot modify ChainPoint’s code</strong>, nor can we set <strong>SameSite=None cookies</strong> or manage cross-domain session storage manually.</li>
</ul>
<h4><strong>Questions &amp; Help Needed:</strong></h4>
<ol>
<li>How can we ensure that <strong>FusionAuth retains and correctly returns the <code>state</code> parameter</strong> when redirecting to ChainPoint?</li>
<li>Is there a <strong>built-in mechanism</strong> in FusionAuth to store and return <code>state</code> automatically, or do we need to handle it manually?</li>
<li>Would a <strong>Lambda function</strong> help ensure that the <code>state</code> is included in the final redirect?</li>
</ol>
<p dir="auto">Any insights or recommendations from the community would be greatly appreciated! I really appreciate any help you can provide.</p>
<p dir="auto"><strong>Best regards,</strong><br />
Cristian Acevedo<br />
Smarterix</p>
]]></description><link>https://fusionauth.io/community/forum/topic/2855/help-issue-with-state-parameter-in-reverse-sso-flow-with-fusionauth</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 13:14:52 GMT</lastBuildDate><atom:link href="https://fusionauth.io/community/forum/topic/2855.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Jan 2025 16:39:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth on Mon, 24 Mar 2025 21:48:24 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/3399">@cristian</a><br />
I am kind if facing the same issue here, how did you go about solving it?</p>
]]></description><link>https://fusionauth.io/community/forum/post/7902</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7902</guid><dc:creator><![CDATA[fuhaustin]]></dc:creator><pubDate>Mon, 24 Mar 2025 21:48:24 GMT</pubDate></item><item><title><![CDATA[Reply to Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth on Mon, 03 Feb 2025 21:55:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/3399">@cristian</a> Glad you got it rolling.</p>
]]></description><link>https://fusionauth.io/community/forum/post/7800</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7800</guid><dc:creator><![CDATA[mark.robustelli]]></dc:creator><pubDate>Mon, 03 Feb 2025 21:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth on Mon, 03 Feb 2025 21:16:27 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/2507">@mark-robustelli</a>,</p>
<p dir="auto">Thank you very much for looking into this!</p>
<p dir="auto">Fortunately, ChainPoint made some adjustments on their end, and we were finally able to log in successfully using OIDC.</p>
<p dir="auto">I really appreciate your willingness to investigate the issue.</p>
<p dir="auto">Thanks again for your time and help!</p>
<p dir="auto">Best,<br />
Cristian</p>
]]></description><link>https://fusionauth.io/community/forum/post/7798</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7798</guid><dc:creator><![CDATA[cristian]]></dc:creator><pubDate>Mon, 03 Feb 2025 21:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth on Mon, 03 Feb 2025 16:47:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/3399">@cristian</a> Apologies for the confusion, I think I conflated two separate issues I was working on.  It is my understanding that FusionAuth should maintain the state parameter as explained in <a href="https://youtu.be/-vx5rdy-mvY" rel="nofollow ugc">this video</a>.  If it is not, then there is a bug. I would like to try and set up a simple example to replicate your issue, but that is going to take me a couple of days. I'll let you know what I find.</p>
<p dir="auto">BTW, it does not look like you can access the url from a lambda. There may be some things you can do with logging and turning on debugging in FusionAuth, but I will test that out as well. If you get to it before I do, please let me know.</p>
<p dir="auto">Thanks.</p>
]]></description><link>https://fusionauth.io/community/forum/post/7794</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7794</guid><dc:creator><![CDATA[mark.robustelli]]></dc:creator><pubDate>Mon, 03 Feb 2025 16:47:30 GMT</pubDate></item><item><title><![CDATA[Reply to Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth on Mon, 03 Feb 2025 14:50:06 GMT]]></title><description><![CDATA[<p dir="auto">Hi Mark! Thanks for your response!</p>
<p dir="auto">However, I believe there is some confusion regarding the protocol we are using. The example you shared refers to RelayState, which is specific to SAML, while we are implementing OIDC (OpenID Connect) with FusionAuth as the IdP.</p>
<p dir="auto">Our issue is related to the state parameter in OIDC, which is used for CSRF protection and session validation.</p>
<p dir="auto">Our main concern is:</p>
<ul>
<li>FusionAuth is receiving the state parameter from our SSO Bridge.</li>
<li>When it redirects to the final service (ChainPoint), the state is not present in the response, causing authentication failure.</li>
</ul>
<p dir="auto">Do you know if there is a way to ensure FusionAuth retains and returns the state parameter in the redirect?</p>
<p dir="auto">Thanks again for your help!</p>
]]></description><link>https://fusionauth.io/community/forum/post/7792</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7792</guid><dc:creator><![CDATA[cristian]]></dc:creator><pubDate>Mon, 03 Feb 2025 14:50:06 GMT</pubDate></item><item><title><![CDATA[Reply to Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth on Fri, 31 Jan 2025 15:29:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/3399">@cristian</a> Can you please take a look at <a href="https://sptest.iamshowcase.com/instructions#spinit" rel="nofollow ugc">https://sptest.iamshowcase.com/instructions#spinit</a> and in particular the <strong>Use RelayState to control the color theme</strong> section.  The are passing a parameter to control the color of the background. This seems to be what you are trying to accomplish.  If not, please let me know.</p>
<p dir="auto">If you need more details on how to set up the test, please see <a href="https://fusionauth.io/blog/test-saml-configuration" rel="nofollow ugc">this blog post</a>.</p>
]]></description><link>https://fusionauth.io/community/forum/post/7789</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7789</guid><dc:creator><![CDATA[mark.robustelli]]></dc:creator><pubDate>Fri, 31 Jan 2025 15:29:17 GMT</pubDate></item><item><title><![CDATA[Reply to Help&#x2F;Issue with &#96;state&#96; Parameter in Reverse SSO Flow with FusionAuth on Thu, 30 Jan 2025 19:39:28 GMT]]></title><description><![CDATA[<p dir="auto">Debug Log from ChainPoint when we try to login in:</p>
<pre><code>2025-01-28 14:35:35,806 DEBUG LogMessage - Authorize response: code=cbQVpjY5qeODZ1I4251aT46-MOIqG5CgGbMOWBUgVSs&amp;locale=en&amp;userState=Authenticated
2025-01-28 14:35:36,208 TRACE Trace - ProcessResponseAsync
2025-01-28 14:35:36,218 ERROR LogMessage - Missing state.
2025-01-28 14:35:36,235 WARN  ProcessLoginResponse - Unable to login user, error during login token validation: Missing state. ()

</code></pre>
]]></description><link>https://fusionauth.io/community/forum/post/7788</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7788</guid><dc:creator><![CDATA[cristian]]></dc:creator><pubDate>Thu, 30 Jan 2025 19:39:28 GMT</pubDate></item></channel></rss>