Why does private embed redirect to login page?

I am trying to implement a private embed using programmatic filtering, based upon the .NET sample, but instead of displaying the dashboard it tries to load the login page (which is blocked from displaying in an iframe).

I have successfully obtained an embedToken and I believe I'm sending it correctly via a form that auto-submits, but I always get a 302 response sending me to

https://<company>.domo.com/auth/index

I've tried it with credentials that have limited scopes and ones that have all the scopes with the same result. I've verified that the embed token has information about the dashboard I am trying to access:

{
  "sub": "xxx",
  "nbf": 1736457405,
  "dom": "<company>.domo.com",
  "iss": "apiEmbed",
  "emb": [
    "{\"token\":\"<embedId>\",\"linkType\":\"PRIVATE\",\"permissions\":[\"READ\",\"EXPORT\",\"FILTER\"]}"
  ],
  "exp": 1736486215,
  "iat": 1736457415,
  "jti": "xxx"
}

Any ideas?

Tagged:

Best Answer

  • JosephMeyers
    JosephMeyers Domo Employee
    Answer ✓

    Private Embed and Programmatic Embed are different things. Grant is referring to Private Embed and the original question seems to be for Programmatic. It looks like there is an issue with the client id and secret. Here is some documentation on the subject -

    https://developer.domo.com/portal/1yafxad1u8azv-programmatic-filtering

    If you are still having trouble with it please have your Support agent contact the embed team and we can go from there.

Answers

  • Private Embed is built around the assumption that a users has a login and access to Domo and is built using a user model. A public embed is around an embed model where it counts the number of times the page is displayed and doesn't require a user to log in but will expose your dashboard to anyone who has access to the dashboard. You could leverage a service account to authenticate on the server back end and pass in with your embed experience.

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • Hi Grant, I'm afraid I'm a bit confused.

    The documentation for Programmatic Filtering says this:

    If you prefer not to work through the licensing and provisioning of mirror users both in your systems and Domo, the main alternative is to persist the policies you have already setup in your systems by applying Programmatic Filters in server-side code. This way, you can still personalize embedded content for any number of viewers even if they do not have a Domo account.

    So our assumption was that the client id / secret authentication and the generation of the embed token was the only authentication that would be required to display the token. Currently the credetials are associated with a Domo Administrator who has access to the Dashboards we are testing with.

    Are you saying that even with this embed mechanism, the user who visits the page with the embedded dashboard would still need their own Domo login?

    Thanks, Andrew

  • @GrantSmith
    Do we have any updates here?

  • I've been working with DOMO support for the last couple of weeks, but so far they've not provided me with any explanation. I don't know if this is a widespread issue, a problem with our environment, or something I'm doing wrong.

  • JosephMeyers
    JosephMeyers Domo Employee
    Answer ✓

    Private Embed and Programmatic Embed are different things. Grant is referring to Private Embed and the original question seems to be for Programmatic. It looks like there is an issue with the client id and secret. Here is some documentation on the subject -

    https://developer.domo.com/portal/1yafxad1u8azv-programmatic-filtering

    If you are still having trouble with it please have your Support agent contact the embed team and we can go from there.