Skip to content

Isuru-Nanayakkara/InstagramAuthViewController

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

InstagramAuthViewController

A ViewController for Instagram authentication.

A UIViewController subclass that handles showing the Instagram login page, the authentication dance and finally returning the access token that can be used to communicate with the Instagram API afterwards.

Inspired by Instagram-Auth-iOS. Used PhotoBrowser as a stepping stone. I rewrote the login part in Swift, replced third-party library code with built-in Cocoa Touch frameworks and made it reusable.

Requirements

  • iOS 8.0+
  • Xcode 7.3<

Installation

Manually

  1. Download or clone the repo.
  2. Open the source folder.
  3. Add InstagramAuthViewController.swift to your project.
  4. Profit(?)!

Usage example

  • Go to Instagram's developer portal and register your application.
  • Take note of the client ID, client secret and redirect URI values.
let clientId = "<YOUR CLIENT ID>"
let clientSecret = "<YOUR CLIENT SECRET>"
let redirectUri = "<YOUR REDIRECT URI>"

Storyboards

  • Simply add the InstagramAuthViewController as the UIViewController's class in the Identity inspector.

let instagramAuthViewController = segue.destinationViewController as! InstagramAuthViewController
instagramAuthViewController.delegate = self
instagramAuthViewController.clientId = clientId
instagramAuthViewController.clientSecret = clientSecret
instagramAuthViewController.redirectUri = redirectUri

Programmatically

  • Initialize an instance of InstagramAuthViewController and present it like a normal ViewController.
let instagramAuthViewController = InstagramAuthViewController(clientId: clientId, clientSecret: clientSecret, redirectUri: redirectUri)
instagramAuthViewController.delegate = self
presentViewController(instagramAuthViewController, animated: true, completion: nil)
  • Either way, don't forget to implement the InstagramAuthDelegate.
func instagramAuthControllerDidFinish(accessToken: String?, error: NSError?) {
    if let error = error {
        print("Error logging in to Instagram: \(error.localizedDescription)")
    } else {
        print("Access token: \(accessToken!)")
    }
}

Contribute & Bug Fixes

I would love for you to contribute to InstagramAuthViewController, check the LICENSE file for more info. Pull requests, bug fixes, improvements welcome.

Meta

Isuru Nanayakkara – @IJNanayakkara[email protected]

Distributed under the MIT license. See LICENSE for more information.

https://github.com/Isuru-Nanayakkara

About

A UIViewController subclass for Instagram authentication.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages