Amanda - Hi all! I'm trying to embed a Liveboar...

Hi all! I'm trying to embed a Liveboard in a React application with an authType of AuthType.SAMLRedirect. I want to set up some error handling so we can log any issues, however, it seems like I'm getting some FAILURE errors even though the authentication/authorization eventually succeeds and the Liveboard is loaded in. My code looks like this:
const authStatus = init({
authType: AuthType.SAMLRedirect,
thoughtSpotHost: config.tsApiHost,
});

authStatus?.on(AuthStatus.FAILURE, handleInitErrors);
authStatus?.on(AuthStatus.SDK_SUCCESS, handleInitSuccess);
const authStatus = init({
authType: AuthType.SAMLRedirect,
thoughtSpotHost: config.tsApiHost,
});

authStatus?.on(AuthStatus.FAILURE, handleInitErrors);
authStatus?.on(AuthStatus.SDK_SUCCESS, handleInitSuccess);
where my handlers are setting some custom loading variables and doing some logging. When this init call runs, I'm seeing a AuthFailureType.SDK event come through initially before the redirect happens (which I guess kinda makes sense since ThoughtSpot isn't actually authenticated yet). After this event comes through, I'm seeing a redirect to our auth provider and once that completes, the Liveboard loads in and we get that SDK_SUCCESS event. Since this FAILURE isn't a "real" failure and is instead just an indicator we need to do our SAML handshake, I'm inclined to ignore AuthFailureType.SDK types since it's just confusing noise. Is there a case where we might see a second AuthFailureType.SDK event if the handshake didn't work? Or would that be handled in a different type?
1 Reply
shikharTS
shikharTS14h ago
I think the failure type would be the same. Since if you think about it from the SDK's perspective, even the failure is a true event, since TS is not authenticated yet. Maybe have a state or something where if you see this failure for the second time during a session then handle the "actual" failure. @Ruchi Anand to suggest if there is a better way.

Did you find this page helpful?