@mxenabled/sso-api-proxy
v1.3.4
Published
Proxy Widget SSO URL requests to our Platform API.
Maintainers
Keywords
Readme
Widget 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.
Getting started
To get started, simply run node start and follow the prompts to enter your
client's client's API information (API key and client ID).
Configuration
When the server starts, the following environment variables will be used if found:
MX_CLIENT_IDMX_API_KEYMX_API_HOSTMX_DEFAULT_USER_GUID
Alternatively, a configuration file named .mx-sso-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_urlsPOST /user/widget_urlsGET /users/{user_guid}/widget_urlsPOST /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"
}