SSO between two apps

Options

We have an app that uses the same SSO as our DOMO app. Is there a way to programmatically log into Domo at the same time as we log into our app without the user having to interact with any DOMO UI?

We want to add a card to our app that uses PDP.

Best Answers

  • brycec
    brycec Contributor
    Answer ✓
    Options

    This is supported by Domo Everywhere. Under the Private Embed section of this page should provide what you're looking for.

    https://domo-support.domo.com/s/article/360043437993?language=en_US#private_embed

    Was this comment helpful? Click Agree or Like below.
    Did this comment solve your problem? Accept it as the solution!

  • ArborRose
    ArborRose Coach
    Answer ✓
    Options

    You should be able to programmatically log into Domo using Domo's API OAuth 2.0 authentication to give you an access token. Register your app to get client credentials (client ID and client secret) through the developer portal. Implement the authorization to get an access token and redirect back to your application.

    Not sure if this is right, but something like this:

    const clientId = 'yourClientId';
    const clientSecret = 'yourClientSecret';
    const redirectUri = 'https://yourapp.com/oauth/callback';
    
    // Redirect user to Domo's authorization endpoint
    app.get('/login', (req, res) => {
      res.redirect(`https://api.domo.com/oauth?response_type=code&client_id=${clientId}&redirect_uri=${redirectUri}`);
    });
    
    // Exchange Authorization Code for Access Token
    app.get('/oauth/callback', (req, res) => {
      const authorizationCode = req.query.code;
    
    });
    


    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

  • MattTheGuru
    MattTheGuru Contributor
    Answer ✓
    Options

    Yes, you can, we do this currently for our own application.


    You are going to need to use the JWT token setup. It’s a long process, but it will then let you use “PDP”, because likely the way you are doing it right now will only allow “Programmatic filters”.

    Check out “Domo Identity Broker”.
    https://developer.domo.com/portal/ed061f0c295c0-embedded-capabilities#domo-identity-broker


    If you’d like I can take a video of it working for me if that’d help you understand if it fits your use case.

Answers

  • brycec
    brycec Contributor
    Answer ✓
    Options

    This is supported by Domo Everywhere. Under the Private Embed section of this page should provide what you're looking for.

    https://domo-support.domo.com/s/article/360043437993?language=en_US#private_embed

    Was this comment helpful? Click Agree or Like below.
    Did this comment solve your problem? Accept it as the solution!

  • ArborRose
    ArborRose Coach
    Answer ✓
    Options

    You should be able to programmatically log into Domo using Domo's API OAuth 2.0 authentication to give you an access token. Register your app to get client credentials (client ID and client secret) through the developer portal. Implement the authorization to get an access token and redirect back to your application.

    Not sure if this is right, but something like this:

    const clientId = 'yourClientId';
    const clientSecret = 'yourClientSecret';
    const redirectUri = 'https://yourapp.com/oauth/callback';
    
    // Redirect user to Domo's authorization endpoint
    app.get('/login', (req, res) => {
      res.redirect(`https://api.domo.com/oauth?response_type=code&client_id=${clientId}&redirect_uri=${redirectUri}`);
    });
    
    // Exchange Authorization Code for Access Token
    app.get('/oauth/callback', (req, res) => {
      const authorizationCode = req.query.code;
    
    });
    


    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

  • MattTheGuru
    MattTheGuru Contributor
    Answer ✓
    Options

    Yes, you can, we do this currently for our own application.


    You are going to need to use the JWT token setup. It’s a long process, but it will then let you use “PDP”, because likely the way you are doing it right now will only allow “Programmatic filters”.

    Check out “Domo Identity Broker”.
    https://developer.domo.com/portal/ed061f0c295c0-embedded-capabilities#domo-identity-broker


    If you’d like I can take a video of it working for me if that’d help you understand if it fits your use case.