Configuring Instagram Login to Use with Discourse

(Jennifer Levitt Birdsall) #1

Here’s how to configure Discourse to allow login and registration with Instagram OAuth 2.0.

Information regarding developing with Instagram is located at Instagram Developer Documentation.

  1. Browse to Instagram API page Instagram Developer Documentation, then login as the Instagram user associated to the site or create a new user.
    image
    1a. Sign up as a Developer if you haven’t already

  2. Select Register Your Application after you signed in as a Developer.
    image

  3. Select Manage Clients and fill in form

    1. Application name: Discourse Forum name
    2. Description: Instagram Social Login
    3. Website URL: https://example.com
    4. Valid redirect URLS: https://example.com/auth/instagram/callback
      image
    5. When form is completed, select Register a New Client
  4. Select Manage to obtain Client ID and Client Secret
    image
    image
    Sandbox information is here: Sandbox Mode • Instagram Developer Documentation

  5. Enter Client ID and Client Secret in Discourse. Log into Discourse as an admin user, browse to Admin and enter Client ID (aka instagram consumer key) and Client Secret (aka instagram consumer secret) for Instagram login
    image
    5a. When logging into Discourse forum using Instagram, select with Instagram and fill in Instagram credentials. Authorize in Instagram popup window.
    5b. When creating a new Account using with Instagram , enter Instagram credentials in Instagram window.


    After authorization is complete and username is created, enter the email address, as Instagram does not populate that field

  6. Submit App to Instagram. Submission information is here: Permissions Review • Instagram Developer Documentation
    Once you are ready to submit your App to Instagram for approval, log into Instagram. In the same Manage Client screen from above, select Permissions tab, then Update Client
    image
    Select Start a Submission and answer the following questions.
    image

    1. Select My app allows people to login with Instagram and share their own content.
    2. Verify the information entered previously
    3. Enter API use case
    4. Create Screencast using the Sandbox credentials
    5. Select Submit for full permissions from Instagram

      image
20 Likes
Instagram Login? Possible/Done?
Configuring Instagram login for Discourse
(Mark) #5

I know I should just hit ‘Like’ on the post but this worked perfectly, thank you for the clear instructions and taking time to take screenshots and give examples etc.

I used Nimbus screenshot to take the webcast (as Windows screen recorder for some reason missed out the instagram login window) and submitted my app just now. Just got to wait for it to be approved!

2 Likes
(Mark) #6

Does anyone have any idea how long approval takes?

(Luka Renko) #7

I tried this, but when I tried to login with Instagram, it redirect me to Register page, even though I already have account with same e-mail?
Is Login not supported via Instagram, just Registration?

(Stephen) #8

Instagram doesn’t pass back an email address, so discourse can’t associate one with the other automatically.

While logged in with your normal account you will need to visit your account settings and associate Instagram from there.

1 Like
(Hanzo) #9

I have been waiting for approval for nearly a month.

The process to properly implement Instagram log-in shouldn’t be this difficult.

(Stephen) #10

The reason you don’t see lots of sites offering Instagram sign-in is in part due to the slow approval times and low approval rates.

Facebook is still pushing to merge their three userbases, so there’s even less reason for them to worry about many sites offering the facility.

Unless your site has a compelling reason for Instagram to want to support SSO I really wouldn’t hold your breath on this one.

1 Like
(Hanzo) #11

Given my website’s demographic, 80%+ use Instagram regularly (multiple times daily) and a sign-in would be incredibly useful.

(Stephen) #12

You’re confirming what I said above. That’s a reason for you to want to support Instagram sign-in, but that’s of zero benefit to Instagram.

1 Like
(Hanzo) #13

So do you have any metrics or inside information as to low approval rates that we could check out? Anything to guide us?

If not, then there’s really 0 reason to keep this thread up or the function alive as I stated a few weeks ago in my thread.

If this is the current state, then to prevent misleading of users, all functionality should be deprecated until it can be functioning up to standard.

There’s no point to implement this if wait-times are going to be months long with high % of rejection, and no benefit “to Instagram” as you say.

(Stephen) #14

Let’s not throw our rattle from the pram.

All of these companies are doing something you benefit from at zero cost.

Some will have success in getting Instagram set up, others won’t. If it doesn’t work out for you it’s not a reason to hide what is technically possible from others.

When you sign up for SSO services from all of the major providers you accept terms which make it very clear they’re doing so with no guarantee of approval, zero warranty and no guarantee of continued support.

2 Likes
(Mark) #16

For those of you that are waiting for your app to be approved, mine just got reviewed and approved and it took 7 days.

The user journey is quite nice if you encourage people to sign in/register directly from Instagram using a link in the Instagram profile to the Discourse instance in question. For instance, I have promoted my forum via instagram and pushed people to sign in/register using the link in the Instagram account bio. Within Instagram, if you click on the link in bio to your Discourse instance and click log in/register, the user is already logged into the built in browser, so doesn’t have to enter their instagram credentials to start the sign up process.

Thank you again to the team for doing this, I am hoping to get my new users directly from Instagram.

6 Likes