Swift based OAuth library for iOS and OSX.
Twitter, Flickr, Github, Instagram, Foursquare. Fitbit, Withings, Linkedin, Dropbox, Dribbble, Salesforce, BitBucket, GoogleDrive, Smugmug, Intuit, Zaim, Tumblr, Slack etc
OAuthSwift is packaged as a Swift framework. Currently this is the simplest way to add it to your app:
- Drag OAuthSwift.xcodeproj to your project in the Project Navigator.
- Select your project and then your app target. Open the Build Phases panel.
- Expand the Target Dependencies group, and add OAuthSwift framework.
- import OAuthSwift whenever you want to use OAuthSwift.
- Install Carthage (https://github.com/Carthage/Carthage)
- Create Cartfile file
github "dongri/OAuthSwift" ~> 0.3.4
- Run
carthage update
. - On your application targets’ “General” settings tab, in the “Embedded Binaries” section, drag and drop OAuthSwift.framework from the Carthage/Build/iOS folder on disk.
- Podfile
platform :ios, '8.0'
use_frameworks!
pod "OAuthSwift", "~> 0.3.4"
// AppDelegate
func application(application: UIApplication!, openURL url: NSURL!, sourceApplication: String!, annotation: AnyObject!) -> Bool {
if (url.host == "oauth-callback") {
if (url.path!.hasPrefix("/twitter")){
OAuth1Swift.handleOpenURL(url)
}
if ( url.path!.hasPrefix("/github" )){
OAuth2Swift.handleOpenURL(url)
}
}
return true
}
// OAuth1.0
let oauthswift = OAuth1Swift(
consumerKey: "********",
consumerSecret: "********",
requestTokenUrl: "https://api.twitter.com/oauth/request_token",
authorizeUrl: "https://api.twitter.com/oauth/authorize",
accessTokenUrl: "https://api.twitter.com/oauth/access_token"
)
oauthswift.authorizeWithCallbackURL( NSURL(string: "oauth-swift://oauth-callback/twitter"), success: {
credential, response in
println(credential.oauth_token)
println(credential.oauth_token_secret)
}, failure: failureHandler)
// OAuth2.0
let oauthswift = OAuth2Swift(
consumerKey: "********",
consumerSecret: "********",
authorizeUrl: "https://api.instagram.com/oauth/authorize",
responseType: "token"
)
oauthswift.authorizeWithCallbackURL( NSURL(string: "oauth-swift://oauth-callback/instagram"), scope: "likes+comments", state:"INSTAGRAM", success: {
credential, response in
println(credential.oauth_token)
}, failure: failureHandler)
- Flickr
- Github
- Foursquare
- Fitbit
- Withings
- Dropbox
- Dribbble
- Salesforce
- BitBucket
- GoogleDrive
- Smugmug
- Intuit
- Zaim
- Tumblr
- Slack
OAuthSwift is available under the MIT license. See the LICENSE file for more info.