Instagram Social Identity Provider

Set Up Instagram

To set up Instagram as a social identity provider, navigate to Facebook for Developers, and follow the steps. You'll need a minimum of:

  • An Instagram account

  • A Facebook developer account

  • An application name and description

  • A website URL for your app, such as http://openidm.example.com:8080

  • A Redirect URL for IDM, such as http://openidm.example.com:8080/

Configure an Instagram Social Identity Provider

To Configure an Instagram Social Identity Provider:
  1. Log in to the Admin UI.

  2. From the navigation bar, click Configure > Social ID Providers.

  3. Enable the Instagram social identity provider.

  4. In the Instagram Provider modal, verify the Redirect URI matches what you entered in "Set Up Instagram".

  5. Enter the Client ID and Client Secret from "Set Up Instagram".

  6. Enter the other configuration details and Advanced Options, per the following:

  7. Click Save.

When you enable an Instagram social identity provider in the Admin UI, IDM generates a conf/identityProvider-instagram.json file. The file contains all options configured using the Admin UI and more. The first part of the file includes the name of the provider, endpoints, and scopes, as well as the values of clientId and clientSecret.

{
   "provider" : "instagram",
   ...
   "clientId" : "<Client_ID_Name>",
   "clientSecret" : {
      "$crypto" : {
         "type" : "x-simple-encryption",
         "value" : {
            "cipher" : "AES/CBC/PKCS5Padding",
            "stableId" : "openidm-sym-default",
            "salt" : "<hashValue>",
            "data" : "<encryptedValue>",
            "keySize" : 16,
            "purpose" : "idm.config.encryption",
            "iv" : "<encryptedValue>",
            "mac" : "<hashValue>"
         }
      }
   },
   "authorizationEndpoint" : "https://api.instagram.com/oauth/authorize/",
   "tokenEndpoint" : "https://api.instagram.com/oauth/access_token",
   "userInfoEndpoint" : "https://graph.instagram.com/me?fields=id,username",
   "redirectUri" : "http://openidm.example.com:8080/",
   "scope" : [
       "user_profile",
   ],
...

Another part of the file includes a propertyMap, which maps user information entries between the source (social identity provider) and the target (IDM).

The file includes schema information for each social identity account, as collected by IDM, as well as the order in which it appears in the Admin UI. When you've registered a user with an Instagram social identity, you can verify this by selecting Manage > Instagram, and then selecting a user. For more information about the properties in this file, refer to "Instagram Social Identity Provider Configuration Details".

Configure User Registration to Link to Instagram

After you configure the Instagram social identity provider, you can activate it through User Registration. To do so in the Admin UI, select Configure > User Registration, and activate that feature. Under the Social tab that appears, enable Social Registration. For more information on IDM user self-service features, see "Self-Service End User UI".

Note

When you enable Social Registration, you're allowing users to register on IDM through all active social identity providers.

Instagram Social Identity Provider Configuration Details

You can set up the Instagram social identity provider through the Admin UI or in a conf/identityProvider-instagram.json file. IDM generates the identityProvider-instagram.json file when you configure and enable this social identity provider in the Admin UI. Alternatively, you can create the file manually.

The following table includes the information shown in the Admin UI Instagram Provider pop-up window, along with associated information in the identityProvider-instagram.json file:

Instagram Social Identity Provider Configuration Properties
Property (UI)Property (JSON file)Description
Client IDclientIdYour Instagram App client identifier
Client SecretclientSecretUsed with the Client ID to access the Instagram API
ScopescopeAn array of strings that allows access to user data
Authorization EndpointauthorizationEndpointTypically https://api.instagram.com/oauth/authorize/; known as an Instagram Authorize URL
Token EndpointtokenEndpointEndpoint that receives a one-time authorization code, and returns an access token; typically https://api.instagram.com/oauth/access_token
User Info EndpointuserInfoEndpointEndpoint that transmits scope-related fields; typically https://graph.instagram.com/me?fields=id,username
Not in the Admin UIproviderName of the social identity provider
Not in the Admin UIconfigClassConfiguration class for the authentication module
Not in the Admin UIbasicAuthWhether to use basic authentication
Not in the Admin UIpropertyMapMapping between Instagram and IDM

For information on social identity provider buttons and badges, see "Social Identity Provider Button and Badge Properties".

Read a different version of :