Canvas not holding url parameters when connecting to a new tm1 server with established cam passport

From what we can tell, the redirecting that is happening with the new option to “reuse” a cam id on a TM1 server connection if a prior tm1 server connection was already established, is causing the original url to return stripped of any parameters it had on it before.

Any help on fixing this would be greatly appreciated.

Thank you,
Chet

Hi @chet_watkins,

Prior to that, it was doing nothing. The reusing of cam id happens when the user has been inactive - and the current session has returned an unauthorized response from TM1. In which case, it will trigger the login mechanism - that is why you will see the CAM Passport in the URL.

It will first try to see if there was still a saved CAM Passport in session from before - but if not, it will retrieve another passport. At this stage, if the CAM Passport provided was valid, it will use that. Otherwise - it will reset.

The issue is happening because the CAM Passport provided was not valid anymore in the first place at the time it receives a CAM Passport from a redirect from the authentication provider.


Paul

Hi Paul,

In my scenario, I log into one of our TM1 instances, it goes through the login redirect and maintians any parameters we have after the ? In the url. When I then select a different sever on that same page that creates what seems to be a login event, the page refreshes from the login to the new server and the parameters disappear. Are you saying this is how it should work? It seems if the true initial login event can hold them, the other login event should as well?

Thanks,
Chet

Hi @chet_watkins,

The reset should only occur if the CAM passport is considered invalid, i.e.TM1 gives a 401 error when it is used. It seems that the CAM passport doesn’t work across two different TM1 instances in this case. We will look in to this scenario.

Hi @chet_watkins,

In relation to your second response, then yes - that is the current behaviour at the moment - as we are using UI-Router library to do partial refresh and just re-initialize the controllers and refreshes the current routing object and not reload the whole page again.

And because of this, if the parameter in the URL is not part of the current state’s list of parameters, then it gets remove.

If there is a few, fix parameters only, then a way to go about it is to configure your URL in the admin console to add those. For example, assuming you have param1 and param2 as the parameter names which will have values later on by that page (/report-1), go into your Canvas’ Admin Console and add the following:

That way, it should persist on page login refresh especially if it has values like:

image

More information can be found here:

Lastly, can you also help contact your local Cubewise office to request to create a ticket for this? We can also look into how to further incorporate the above.

Cheers!
Paul

Thank you Paul, adding the param to the url in the states.json for the page worked.