@mxenabled/sso-api-proxy

1.3.3 • Public • Published

SSO API Proxy

This is a proxy server used to get Widget SSO URLs from our Platform API. Any configuration that you could normally pass to the Platform API via the request body or a header can be passed in this server as well. This tool is not meant to be used in a production environment.

Getting started

Run npm i -g @mxenabled/sso-api-proxy to install this package globally and be able to run the mx-sso-api-proxy command from anywhere. Running mx-sso-api-proxy will start the proxy server. Run mx-sso-api-proxy help for additional information on the commands and arguments.

Configuration

When the server starts, the following environment variables will be used if found:

  • MX_CLIENT_ID
  • MX_API_KEY
  • MX_API_HOST
  • MX_DEFAULT_USER_GUID

Alternatively, a configuration file named .mx-sso-api-proxy-rc.yaml will be searched for, and, if located, used as well. The configuration file should look like this:

apiKey: "[api key]"
apiHost: "https://int-api.mx.com"
clientId: "[client id]"
defaultUserGuid: "[default user guid]"

If a required configuration is missing, you will be prompted to enter it in before the server starts.

Making requests

The server has the following endpoints:

  • GET /user/widget_urls
  • POST /user/widget_urls
  • GET /users/{user_guid}/widget_urls
  • POST /users/{user_guid}/widget_urls

The /users/{user_guid}/widget_urls endpoints use the user guid provided in the URL, whereas the /user/widget_urls endpoints use the user guid in the configuration.

The GET endpoint accepts the widget configuration via the URL query parameters. For example:

curl "http://localhost:8089/users/USR-081ff65e-3087-4cc2-a2c4-365354e1e6cb/widget_urls?widget_type=connect_widget&mode=verification"

The POST endpoint accepts the widget configuration via the request body. For example:

curl "http://localhost:8089/users/USR-081ff65e-3087-4cc2-a2c4-365354e1e6cb/widget_urls" \
  -H "Content-Type: application/json" \
  --data '{"widget_url": {"widget_type": "connect_widget"}}'

Using the proxy with the Widget SDKs

If you're running the example application in the React Native Widget SDK, add this to your config.json file (just replace {user guid} with your user's guid):

{
    "proxy": "http://localhost:8089/users/{user guid}/widget_urls"
}

Build

/@mxenabled/sso-api-proxy/

    Package Sidebar

    Install

    npm i @mxenabled/sso-api-proxy

    Weekly Downloads

    24

    Version

    1.3.3

    License

    MIT

    Unpacked Size

    18.5 kB

    Total Files

    6

    Last publish

    Collaborators

    • sskousen
    • blueeagle500
    • whiteinge
    • cerinman
    • sambev
    • jrexdavis
    • nathan.nash
    • thechirinos
    • inphomercial
    • marabd
    • jsfowles
    • minond
    • wolzey
    • emilysallstrom
    • mxdevexperience
    • mwclemy
    • jameson13
    • craigtingey
    • ashley.wright
    • jamesonmx
    • drewwarren
    • shalyn.huetter
    • william.bridegroom
    • mx.dev
    • codinglogan
    • wesrisenmay-mx
    • mx-sabarigiri
    • stephanie.stamm
    • hassyyy_mx
    • jordanboudreau