Authentication flow with third party data providers
The Developer Console implements a performant solution allowing developers to acquire the user’s permission to access user data stored on other servers (i.e. Fitbit data).
Connect is the authentication widget that is embedded into developer website or application.
It allows your users to share their data with developer apps and services.
After the user has successfully granted you access to their data (using Connect), you’ll be able to query their data.
The “developer connect” authentication flow consists of 6 steps
Here they are:
- Your client application (web / mobile) will launch the “Connect popup” with two configuration parameters: clientId and clientUserId.
- Once a user press “Finish Connecting Data” button, you will receive a specialToken.
- Your client will send the specialToken to your server backend.
- Your server will add your unique clientSecret (to the specialToken) and will send it to Developer Platform.
- Developer Platform will return: UserCode (unique ID for your user) and accessToken. Save this data in your system.
- Update your app status. You can now start using Proprietary API for querying data.
Connect pop up widget
Connect is the authentication widget you embed into your website or application to allow your users to access API data with your apps and services.
There are 3 basic steps to fully integrate Connect pop up into your app.
- Create an application in the Developer Console portal.
- Add the “Connect” button to your application and install “connect.js” on your site.
- Create a single server-side endpoint that will be responsible for getting the access_token for the user from the Proprietary API server. Once this is complete you will be able to query Proprietary API using the access_token.
Define new integration source
As Administrator of the Developer Console you can decide to support different data sources, here is an example with some definitions.
To define a data source, are needed:
- Name – mandatory
- Auth Host url – mandatory
- API host url – mandatory
- Auth url – mandatory
- Request token url – mandatory
- Access token url – mandatory
- Client ID – optional – if is empty, Developers must add their own in each defined Application
- Client Secret – optional – if is empty, Developers must add their own in each defined Application
- Full auth url – mandatory
- Logo – optional
Once is defined it will appear on the Connect Popup and you can use it.