How to create deep links and temporary sessions?
In order to make deep link or temporary session work you can use this as default structure for the link:
https://{{TENANT_HOSTNAME}}/redirect?{{DEEPLINK_OR_TEMPORARY_SESSION_PARAMETERS}}
Temporary session parameters
The temporary session parameters are without any user-specific attributes added in link, when enabled for client this will allow the user to continue as a guest user.
- original_url=xxx
- client_id=xxx
Deeplink parameters
The deeplink parameters consist of user-specific attributes added in link, when enabled for the client, this will allow the user to directly authenticatie with the app or site.
- original_url=xxx
- client_id=xxx
Each attribute can be enabled for deeplink use, please contact administrator, when enabled we'll provide you with parameter you can add to URL to authenticate with. It is also possible to use fastcodes, if so the fastcode extension can be enabled to have uniquely generated codes for each user to use.
For the callback (redirect uri) you need to configure some extra checks there in order to make it work with the platform, please make sure you are listening for all actions specified in this article below.
Listening for certain actions
Listening for action parameter from the URL on the callback endpoint, that has been configured from the administration panel or provided to the Unify team to communicate with.
How to handle logout actions
From the URL Query String Parameters you can also see ```action=logout``` when this is available please flush the current session from your end to ensure the user can be logged out if you are not checking the access token frequently. I
f the access token is invalid, you may refresh this token (if applicable) or you do the same as the logout action described above. If you need to check if current token is valid you can always run it against the https://{{TENANT_HOSTNAME}}/api/1.0/verify endpoint.
You should also provide the user a way back onto your website, otherwise we'll keep the user on the Identity Platform if there is no redirecting return to URL being provided after logging out.
Steps to take in order to handle this action
1. Receive request on `callback` route from your integration
2. Check for HTTP Query String Parameter for `action` key
3. Check for HTTP Query String Parameter for `action` matches `logout`
4. Use state parameter to store intended `return_to` after logout and save it as {{STATE}}
5. https://{{TENANT_HOSTNAME}}/logout?state={{STATE}}
How to handle deeplink actions
If you detect ```action=deeplink``` then please redirect the user for the corresponding ```original_url=xxx``` parameter, where ```xxx``` is the full URL that needs to be redirected to.
Steps to take in order to handle this action
1. Receive request on `callback` route from your integration
2. Check for HTTP Query String Parameter for `action` key
3. Check for HTTP Query String Parameter for `action` matches `deeplink`
4. Check for HTTP Query String Parameter for `original_url` and grab it's value as {{REDIRECT}}
5. Redirect to {{REDIRECT}} with 302 status code