Add Instagram login and registration to WordPress

Register a new Instagram Client

Navigate to https://www.instagram.com/developer/ and login with your Instagram account and click on the "Register new client" button on this page https://www.instagram.com/developer/clients/manage/.

Fill in all the details about the app and make sure that "Website URL" is your actual website url.

For the "Valid redirect URIs" setting type your site url followed by /?wpumsl=instagram. If your website is http://example.com, in that setting you would need to write http://example.com/?wpumsl=instagram.

Credentials setup

Once your new client has been registered, you need to retrieve it's credentials and set them up into your WordPress website. Click on "Manage" onto your newly created client.

You'll be redirected to the settings of you app where you'll be able to copy the client id and client secret keys

Copy the client id and client secret keys and paste them into your WordPress website by logging into your dashboard and navigating to "Users -> Settings -> General -> Social Login" and locate the settings Instagram Client ID and Instagram Client Secret.

Publishing your Instagram APP

After setting up your app you will need to get Instagram itself to review your App and approve it. Without approval from Instagram you will not be able to let your users login on your website with their Instagram account but only yourself, the owner of the app will be able to login through it. This is a restriction placed by Instagram.

Once you're ready, click on "Permissions" and click on "Start submission" and complete the process.

Instagram limited available info

Unfortunately, Instagram does not make email addresses available when requesting information through their API. This means that WPUM is unable to create an account via email because we don't know the address, all we have access to is the username. 

WPUM uses the username to create an account if it doesn't exist and a random email address is assigned. The user is then prompted to enter his real email address. The account is then marked as verified within your WordPress site so that only authorized login can access the account.