Login to the community
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
Hello,
First let me say that I understand Zendesk has a multibrand add-on. While we are a multi-brand software package we aren't interested necessarily in having each portal have their own branded support channel. It's a good thing(tm) for us to handle support across all brands even if each portal gets their own white label.
We have a whitelabel product we would like to do SSO for, because each of our customers can access the Zendesk help portal from each white-label portal. I.e.
demo.testnotice.com <- White label
www.testnotice.com <- "Our" version
We are trying to implement SSO in development and it works great for "our" version:
default.dev.testnotice.com (local dev, works great)
bcprobation.dev.testntoice.com (doesn't work)
The way we've implemented this is as follows:
1) We store an encrypted cookie for *.testnotice.com on the user's computer that indicates which portal they last visited. I.e. bcprobation.dev.testnotice.com as well as the session ID of their session in that portal.
2) When the user goes to support and Zendesk sends them to us for SSO (always to "our" endpoint) and to get the JWT. We decrypt this cookie, set the proper context on our end, and determine if the session is authenticated or not. If it isn't we redirect them to the portal's login page -- otherwise we construct the JWT token and send the user back to Zendesk with it.
For "our" version in dev (default.dev.testnotice.com) this works great and the user is logged in. For a whitelabel version (bcprobation.dev.testnotice.com) Zendesk seems to get stuck in an infinite redirect loop where authentication always fails. As far as I can tell Zendesk shouldn't even be aware there is any difference because all of the communication happens through a single endpoint.
Is there some restriction here I'm missing or some other explanation why this wouldn't be working?
John