Skip to main content

Instagram Social Login

Enable one-click WiFi authentication on your captive portal using Instagram accounts, allowing guests to connect with their social media credentials via Facebook's API.

Overview

Instagram social login provides:

  • One-click authentication for guests
  • Profile data collection (username, profile info)
  • Marketing insights from Instagram users
  • Frictionless experience for younger demographics

Prerequisites

  • IronWifi account with captive portal configured
  • Facebook Developer account (Instagram uses Facebook's API)
  • Instagram Basic Display API or Instagram Graph API access

Important Notes

Instagram authentication is managed through Facebook/Meta's platform:

  • Instagram API is accessed via Facebook Login
  • Requires Facebook Developer account
  • Subject to Meta's platform policies
  • Limited data access compared to other social providers

Facebook Developer Setup

Create App

  1. Go to developers.facebook.com
  2. Click My Apps > Create App
  3. Select Consumer or Business type
  4. Enter app details:
    • App Name: Your WiFi Portal Name
    • Contact Email: Your email

Add Instagram Basic Display

  1. In your app dashboard
  2. Click Add Product
  3. Find Instagram Basic Display and click Set Up
  4. Configure OAuth settings

Configure Instagram Basic Display

  1. Go to Instagram Basic Display > Basic Display
  2. Add Valid OAuth Redirect URIs:
    https://auth.ironwifi.com/callback/instagram
  3. Add Deauthorize Callback URL
  4. Add Data Deletion Request URL

Get Credentials

Note these values:

  • Instagram App ID
  • Instagram App Secret

IronWifi Configuration

Step 1: Add Instagram Provider

  1. Log in to IronWifi Console
  2. Navigate to Networks > Captive Portals
  3. Select your captive portal
  4. Go to Authentication Providers
  5. Click Add Provider > Instagram

Step 2: Configure OAuth

Enter credentials:

  • App ID: Your Instagram App ID
  • App Secret: Your Instagram App Secret
  • Redirect URI: Confirm matches Facebook app config

Step 3: Configure Permissions

Select data to request:

  • user_profile - Basic profile info
  • user_media - User's media (optional)

Data Collection

Available Data

Instagram Basic Display API provides:

FieldDescription
idInstagram user ID
usernameInstagram username
account_typeBUSINESS, MEDIA_CREATOR, or PERSONAL
media_countNumber of posts (if permitted)

Data Limitations

Instagram limits data access:

  • No email address (unlike other providers)
  • No follower counts for personal accounts
  • Limited profile information
  • Subject to rate limits

Authentication Flow

User Experience

  1. Guest connects to WiFi
  2. Sees "Continue with Instagram" button
  3. Clicks and redirects to Instagram
  4. Logs in (if not already)
  5. Approves permissions
  6. Redirected back, access granted

Technical Flow

Guest → Captive Portal → Instagram OAuth

Permission Grant

Access Granted ← IronWifi ← Token Exchange

Splash Page Integration

Add Instagram Button

<div class="social-login">
<a href="{{instagram_auth_url}}" class="btn-instagram">
<img src="/instagram-icon.svg" alt="Instagram">
Continue with Instagram
</a>
</div>

<style>
.btn-instagram {
background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
color: white;
padding: 12px 24px;
border-radius: 4px;
display: flex;
align-items: center;
gap: 8px;
}
</style>

App Review

For Public Use

To use Instagram login publicly:

  1. Submit app for App Review
  2. Explain use case
  3. Provide privacy policy
  4. Demonstrate data handling
  5. Wait for approval

Development Mode

During development:

  • Limited to app developers and testers
  • Add test users in Facebook app settings
  • Full functionality for testing

Privacy & Compliance

Data Handling

  1. Inform users what data is collected
  2. Privacy policy must be displayed
  3. Data retention policy required
  4. Deletion requests must be honored

Meta Platform Terms

Comply with:

  • Meta Platform Terms
  • Instagram API Terms
  • Data Processing requirements

Troubleshooting

OAuth Errors

Invalid Redirect URI:

  • Verify URI matches exactly in Facebook app
  • Check for trailing slashes
  • Ensure HTTPS

Permission Denied:

  • User declined permissions
  • App not approved for production
  • Rate limits exceeded

No Data Received

  1. Check permissions requested
  2. Verify app is in live mode
  3. Review access token validity
  4. Check API response logs

Best Practices

  1. Clear messaging - Tell users why you need Instagram
  2. Minimal permissions - Only request what's needed
  3. Privacy compliant - Honor data requests
  4. Fallback option - Offer alternative login methods
  5. Graceful errors - Handle failures smoothly

Limitations

Instagram API Restrictions

  • No email address available
  • Limited profile data
  • Rate limited API calls
  • Requires app review for production
  • Subject to frequent API changes

Consider Alternatives

For richer data collection:

  • Facebook Login (includes email)
  • Google Sign-In
  • Email authentication