12

I want to add a 'Login with Instagram" button as a new feature to my application. After reading the docs, I understood that the new API called - 'Instagram Basic Display Api' can't be used as an authentication solution.

"Data returned by the API cannot be used to authenticate your app users or log them into your app. If you need an authentication solution we recommend using Facebook Login instead." https://developers.facebook.com/docs/instagram-basic-display-api

If I understood the docs correctly they expect from the user to authenticate once with 'Facebook Login' as the primary authentication of the app and after that, the user needs to login in again to Instagram in order to get his basic profile.

Why can't Instagram be used as primary authentication? Anyone have a showcase to present that implement this flow?

Ron Badur
  • 1,873
  • 2
  • 15
  • 34
  • 1
    No you didn't understand the docs correctly. This isn't meant as a "Login with Instagram" type thing. It's more of a "Connect your Instagram feed" type thing. – tony Apr 08 '21 at 07:51
  • @tony So we _can_ use the "Login with Instagram" button, right? Could you explain what you mean by "It's more of a \"Connect your Instagram feed\" type thing."? – Oleg Yablokov Sep 28 '21 at 13:55

1 Answers1

0

It seems it is just their policy that has been applied to Instagram. Originally they said there's a thing called "Instagram Product" which you can use for authentication solution, but now they removed it and only keep "Instagram Basic Display". Looks like they are trying to only allow you use log in with Facebook.

And apparently, you cannot fetch the user's Instagram account with the Facebook log in solution. Their Instagram account and Facebook account may even unconnected.

So yes, you will have to let your user log in with Facebook first, and then check if there's an Instagram account recorded in your system to decide whether they need to log in with Instagram as well. Meta just makes things over complicated.

Terry Windwalker
  • 1,343
  • 2
  • 16
  • 36