Skip to content

A modern OAuth 2 library for macOS, iOS, tvOS and watchOS.

License

Notifications You must be signed in to change notification settings

dani-mp/WFOAuth2

 
 

Repository files navigation

WFOAuth2

CocoaPods Compatible Carthage Compatible Swift Package Manager Platform

WFOAuth2 is an extensible OAuth 2 library for macOS, iOS, tvOS and watchOS. It aims to simplify authenticating your app with a variety of services.

Supported Services

GoogleGoogle
SlackSlack
UberUber
SquareSquare

...and more to come!

Usage

WFOAuth2 is very straightforward to use. This is how you authenticate with Google, for example:

WFGoogleOAuth2SessionManager *sessionManager = [[WFGoogleOAuth2SessionManager alloc] initWithClientID:@"XXXX-yyyy.apps.googleusercontent.com"
                                                                                         clientSecret:nil];

NSURL *redirectURI = [NSURL URLWithString:WFGoogleNativeRedirectURIString];
WKWebView *webView = [sessionManager authorizationWebViewWithScope:WFGoogleProfileScope
                                                       redirectURI:redirectURI
                                                 completionHandler:^(WFOAuth2Credential *credential, NSError *error) {
                          NSLog(@"Token: %@", credential.accessToken);
                      }];
                      
// Display web view to user

Installation

Carthage

To integrate WFOAuth2 into your Xcode project using Carthage, specify it in your Cartfile:

github "DeskConnect/WFOAuth2" ~> 0.1

CocoaPods

To integrate WFOAuth2 into your Xcode project using CocoaPods, specify it in your Podfile:

target 'MyApp' do
  pod 'WFOAuth2', '~> 0.1'
end

Swift Package Manager

To integrate WFOAuth2 into your project using the Swift Package Manager, specify it in your Package.swift file:

import PackageDescription

let package = Package(
    name: "MyApp",
    dependencies: [
  		.Package(url: "https://github.com/DeskConnect/WFOAuth2.git", majorVersion: 0, minor: 1),
    ]
)

Contributing

If you are interested in contributing to WFOAuth2, check out the list of possible enhancements. We also want to add support for as many services as possible, so you could contribute a WFOAuth2SessionManager subclass for your favorite service.

License

WFOAuth2 is available under the MIT license. See the LICENSE file for more info.

About

A modern OAuth 2 library for macOS, iOS, tvOS and watchOS.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 98.3%
  • Ruby 1.2%
  • Other 0.5%