Authorization
Introduction
Authorizing your end-users is handled differently depending on how your Integry deployment is set up.
Integration Marketplace
The Integration Marketplace is a public listing of all apps that your end-users can create integrations with. This app listing is hosted by Integry. By default, the Integration Marketplace is public, so anyone can view the list of apps and their details without being logged into your app. However, once they click on the Install button to set up any integration, they need to be logged into your app.
The way this authentication process works is that when an end-user clicks on the setup link for an integration, they will be redirected to your app’s login page (e.g., MySaaS.com/login). Over here, the end-user will have to log in.
Once the user logs in, your app will redirect back to the Integration Marketplace with information on their identification and authorization. The marketplace then uses these credentials to authorize your end-users when they set up integrations. More details on this SSO process can be found here.
SDK
Since there is no redirection involved when your end-users are already logged in to your app, we provide an option to provide their credentials directly to the SDK. Once you provide the necessary credential, we create an authorization for your end-user automatically which is then used in the integrations they create.
If you signed up as Slack and created an action in your Integry connector called 'Send a message on Slack', the authentication step for this action will not be shown to your end-users in the embedded SDK when they set up a Flow which uses this action.
Requirements
Enabling this implicit authorization feature has the following requirements:
- The auth type for your activity should be one of the following supported types
- The SDK deployment must belong to the same workspace as your app connector
Supported Auth Types
Currently, the following activity authorization types are supported:
API Key
const integryHandle = new IntegryJS({
appKey,
hash,
deploymentId,
userId,
xIntegryConfig: {
appAuth: {
apiKey: '<USER_API_KEY>', // replace with your end-user's API key
},
},
});